PowerShell小技巧之观察UNC路径
许多命令能支持UNC路径,但是UNC路径在脚本中看起来很奇怪。看看下面代码:
PS> Test-Path -Path \\127.0.0.1\c$ True
它返回了真,证明UNC路径存在。接着改变当前的路径指向一个非文件系统路径接着测试:
PS> cd hkcu:\ PS> Test-Path -Path \\127.0.0.1\c$ False
一样的路径但现在却获得了失败。这是因为UNC路径没有包含盘符,而PS需要根据盘符去分配当前合适位置。如果当前路径没有包含在磁盘路径下,Powershell将假定当前选择的位置。所以当你改变当前目录到注册表,PS将试图从当前注册表获取UNC路径,这就是错误原因。
更糟的是有些莫名其妙的原因,当你在使用“Net use”做网络映射,查看驱动命令时PS可能会让你迷糊。
这里有一个简单的解决办法,当你在命令中使用UNC路径,首先要考虑当前所在UNC路径位置,这将避免此问题:
PS> Test-Path -Path FileSystem::\\127.0.0.1\c$ True PS> cd hkcu:\ PS> Test-Path -Path \\127.0.0.1\c$ False PS> Test-Path -Path FileSystem::\\127.0.0.1\c$ True
如果你担心”Net Use”产生盘符麻烦,请预先使用 “FileSystem::”做好相应的措施。将能彻底解决问题。
支持所有PS版本
相关文章
PowerShell: Try...Catch...Finally 实现方法
PowerShell 本身有很多很好的错误控制,但是习惯于.net编程的人员,更喜欢用Try Catch Finally方法,尤其当有一段代码必须被执行到的时候。现在好了,adweigert 想出了一个好方法来实现。这个函数已经在多种情况下测试过,希望能对你有帮助2013-11-11PowerShell中使用Out-File把字符串或运行结果保存到文件的方法
这篇文章主要介绍了PowerShell中使用Out-File把字符串或运行结果保存到文件的方法,重点在于Out-File命令的使用方法上,需要的朋友可以参考下2014-08-08PowerShell中删除空格、点号、减号和换行方法代码实例
这篇文章主要介绍了PowerShell中删除空格、点号、减号和换行方法代码实例,本文直接给出实例代码,需要的朋友可以参考下2015-05-05
最新评论