Подтвердить что ты не робот

Изменить разделитель путей в Windows PowerShell

Можно ли заставить PowerShell всегда выводить / вместо \? Например, я хотел бы, чтобы вывод get-location был C:/Documents and Settings/Administrator.

Обновление

Спасибо за примеры замены, но я надеялся, что это произойдет глобально (например, завершение табуляции и т.д.). Основываясь на наблюдении Мэтта, разделитель определяется System.IO.Path.DirectorySeparatorChar, который появляется на практике и из документации, предназначенной только для чтения, Я предполагаю, что это невозможно.

4b9b3361

Ответ 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:/