是否有可能讓PowerShell始終輸出/
而不是\
?例如,我希望get-location的輸出爲C:/ Documents and Settings/Administrator。在Windows PowerShell中更改路徑分隔符
更新
感謝您使用替換的例子,但我希望這在全球範圍內發生的(例如標籤完成,等)。根據馬特的觀察,分隔符是由System.IO.Path.DirectorySeparatorChar定義的,在實踐中出現,文檔是隻讀的,我猜這是不可能的。
是否有可能讓PowerShell始終輸出/
而不是\
?例如,我希望get-location的輸出爲C:/ Documents and Settings/Administrator。在Windows PowerShell中更改路徑分隔符
更新
感謝您使用替換的例子,但我希望這在全球範圍內發生的(例如標籤完成,等)。根據馬特的觀察,分隔符是由System.IO.Path.DirectorySeparatorChar定義的,在實踐中出現,文檔是隻讀的,我猜這是不可能的。
這是一個很好的問題。 .NET Framework的基礎面以此爲System.IO.Path.DirectorySeparatorChar,這是一個讀/寫性能,所以我想你可以這樣做:
[IO.Path]::DirectorySeparatorChar = '/'
...這似乎是成功的,除非然後輸入:
[IO.Path]::DirectorySeparatorChar
......它告訴你它仍然是'\'。這就像它不是「持續」。哎呀,我甚至不確定即使PowerShell發生了變化,PowerShell也會表現出特殊的價值。
我想我會張貼這個(在它沒有真正回答你的問題的風險),以防它幫助別人找到真正的答案。我確信這將與該DirectorySeparatorChar字段有關。
用「/」替換「\」。
PS C:\Users\dance2die> $path = "C:\Documents and Settings\Administrator"
PS C:\Users\dance2die> $path.Replace("\", "/")
C:/Documents and Settings/Administrator
您可以創建一個過濾器(或功能),你可以管你的路徑:
PS C:\> filter replace-slash {$_ -replace "\\", "/"}
PS C:\> Get-Location | replace-slash
C:/
有沒有辦法僅將這個應用於單個Split-Path命令? (讓它返回斜槓而不是反斜槓。) – 2017-11-27 09:44:48