Изменить разделитель путей в Windows PowerShell
Можно ли заставить PowerShell всегда выводить /
вместо \
? Например, я хотел бы, чтобы вывод get-location был C:/Documents and Settings/Administrator.
Обновление
Спасибо за примеры замены, но я надеялся, что это произойдет глобально (например, завершение табуляции и т.д.). Основываясь на наблюдении Мэтта, разделитель определяется System.IO.Path.DirectorySeparatorChar, который появляется на практике и из документации, предназначенной только для чтения, Я предполагаю, что это невозможно.
Ответы
Ответ 1
Это хороший вопрос. В основе .NET Framework лежит это как System.IO.Path.DirectorySeparatorChar, и это свойство чтения/записи, поэтому я решил, что вы можете это сделать:
[IO.Path]::DirectorySeparatorChar = '/'
... и это кажется успешным, за исключением случаев, когда вы набираете это:
[IO.Path]::DirectorySeparatorChar
... он говорит вам, что он все еще "\". Он вроде бы не "держится". Черт, я даже не уверен, что PowerShell чтит это особое значение, даже если оно менялось.
Я думал, что опубликую это (рискуя этим не отвечать на ваш вопрос), если это поможет кому-то найти реальный ответ. Я уверен, что это будет связано с этим полем DirectorySeparatorChar.
Ответ 2
Замените "\" на "/".
PS C:\Users\dance2die> $path = "C:\Documents and Settings\Administrator"
PS C:\Users\dance2die> $path.Replace("\", "/")
C:/Documents and Settings/Administrator
Ответ 3
Вы можете создать фильтр (или функцию), с помощью которого вы можете направлять свои пути:
PS C:\> filter replace-slash {$_ -replace "\\", "/"}
PS C:\> Get-Location | replace-slash
C:/