Изменить разделитель пути в Windows PowerShell - PullRequest
14 голосов
/ 24 апреля 2009

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

Обновление

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

Ответы [ 3 ]

8 голосов
/ 24 апреля 2009

Хороший вопрос. Базовая структура .NET отображает это как System.IO.Path.DirectorySeparatorChar, и это свойство чтения / записи, поэтому я решил, что вы можете сделать это:

[IO.Path]::DirectorySeparatorChar = '/'

... и это похоже на успех, кроме случаев, когда вы набираете это:

[IO.Path]::DirectorySeparatorChar

... это говорит вам, что это все еще '\'. Это как бы не "овладеть". Черт, я даже не уверен, что PowerShell учитывает это конкретное значение, даже если оно менялось.

Я думал, что опубликую это (рискуя не ответить на ваш вопрос), если это поможет кому-то еще найти реальный ответ. Я уверен, что это будет связано с этим полем DirectorySeparatorChar.

8 голосов
/ 24 апреля 2009

Заменить "\" на "/".

PS C:\Users\dance2die> $path =  "C:\Documents and Settings\Administrator"
PS C:\Users\dance2die> $path.Replace("\", "/")
C:/Documents and Settings/Administrator
3 голосов
/ 24 апреля 2009

Вы можете создать фильтр (или функцию), к которому вы можете направить свои пути:

PS C:\> filter replace-slash {$_ -replace "\\", "/"}
PS C:\> Get-Location | replace-slash
C:/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...