PowerShell和网络路径

4
我正在从网络路径调用我的脚本。该脚本基本上只调用另一个程序,并将当前目录作为参数传递给它。
当我将$PWD作为参数传递时,程序看到的路径是"Microsoft.PowerShell.Core\FileSystem::\my_server\public",当然失败了,因为它期望标准UNC路径。
我的临时解决方案是简单地使用.Replace("Microsoft.PowerShell.Core\FileSystem::", ""),这样做可以解决问题,但我想知道将路径从这种“powershell”格式转换为标准UNC的真正方法是什么。
是否有更好的解决方案?
1个回答

11

使用$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运算符,您不一定需要调用该方法。


谢谢,就这样了。顺便说一下,这个 | fl -force * 的技巧将来会非常有用。感谢您的快速回复。 - Klark
1
这是一种快速查看对象所有属性的方法(而不仅仅是默认显示的属性)。如果你只看 $pwd,它只会显示 Path,而不是其他属性。另一个有用的东西是 Get-Membergm,但它不显示值,所以如果我正在寻找期望存在的属性值(就像在这种情况下),我通常使用 Format-List :-) - Joey

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接