我正在从网络路径调用我的脚本之一。脚本基本上只调用另一个程序并将当前目录作为参数传递给它。
当我将 $PWD 作为参数传递时,我的程序看到的路径是“Microsoft.PowerShell.Core\FileSystem::\my_server\public”,它当然会失败,因为它需要标准的 UNC 路径。
我的临时解决方案是简单地执行 .Replace("Microsoft.PowerShell.Core\FileSystem::", "")
并且它有效,但我想知道将路径从这种“powershell”格式转换为标准 UNC 的真正方法是什么。
有更好的解决方案吗?
最佳答案
请改用 $pwd.ProviderPath
。
PS Home:\> cd \\localhost\h$
PS FileSystem::\\localhost\h$> $pwd|fl -force *
Drive :
Provider : FileSystem
ProviderPath : \\localhost\h$
Path : FileSystem::\\localhost\h$
此外,还有一个
-replace
运算符,您不一定需要该方法调用。
关于Powershell 和网络路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8742372/