許多命令能支持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版本
新聞熱點
疑難解答
圖片精選