in reply to Problem running shell command from Perl
If I'm correctly understanding your posts in this thread, you're basically wanting to get the short path name (i.e. 8.3 format) of a path that contains Unicode characters. And you're wanting to use a system command to get the short path.
In Windows, there's two different APIs to the filesystem. The most commonly used API does not support paths with Unicode characters or long paths (limit is around 255 characters). I don't know if the system command that you are trying to use has these limitations or not.
Try taking a look at Win32::LongPath, which supports long paths and paths that use Unicode characters. In particular, it provides a shortpathL function to get a short path. This module might provide you with what you need without having to make a system call. You might need to look at harangzsolt33's post about a registry change needed to enable short paths on Windows 11.
I don't have a Windows 11 system to test this out - especially the tidbit from harangzsolt33 about enabling short paths in Windows 11.
|
---|