我在PowerShell 中有此代码
$workingDir = $PSScriptRoot + "/"
这将为我提供当前ps1文件的路径。稍后我将引用这个工作目录变量来引用子文件夹并运行一些旧的1990年代风格的程序。
我的工作目录包含一个带有空格的文件夹名称"共享文件";。
我怎样才能得到旧的DOS约定名称:"共享~1";作为使用PowerShell函数的上述文件夹的文件夹名称(带波浪号(,而不硬编码名称或手动替换文件夹名称?
我需要这个,因为有些旧程序无法识别带有空格的文件夹名称。
谢谢!
您应该能够使用COM对象Scripting.FileSystemObject
来获得短路径:
(New-Object -ComObject Scripting.FileSystemObject).GetFile($path).ShortPath