2009-04-23 43 views
12

\ではなく、常に/を出力するようにPowerShellを設定することはできますか?たとえば、get-locationの出力をC:/ DocumentsとSettings/Administratorにしたいとします。Windows PowerShellのパス区切りを変更します

更新

置き換えるの使用例のおかげで、これは世界的に(例えば、タブ補完など)を発生するために私が期待していました。区切り記号は実際に現れるSystem.IO.Path.DirectorySeparatorCharによって定義されていることをMattの見解に基づいて、またドキュメントは読み込み専用であると私は推測しています。

答えて

6

です。基礎となる.NETフレームワークはSystem.IO.Path.DirectorySeparatorCharとして、この面、そしてそれは、読み取り/書き込みプロパティですので、私はあなたがこれを行うことができ考え出し:

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

を...、それは場合を除き、成功したように見えます

[IO.Path]::DirectorySeparatorChar 

...これはまだ '\'であることを示しています。それは "保留"ではないようです。ちょっと、PowerShellが変わってもその特定の価値を尊重しているかどうかはわかりません。

誰かが本当の答えを見つけるのを助ける場合、私はこれを投稿して(あなたの質問に実際に答えないリスクで)考えました。私はそれがそのDirectorySeparatorCharフィールドと何か関係があると確信しています。

+0

これを1つの分割パスコマンドにのみ適用する方法はありますか? (バックスラッシュの代わりにスラッシュを返すようにする) –

7

"\"を "/"に置き換えます。

PS C:\Users\dance2die> $path = "C:\Documents and Settings\Administrator" 
PS C:\Users\dance2die> $path.Replace("\", "/") 
C:/Documents and Settings/Administrator 
2

あなたはへのパイプあなたのパスをすることができますことを、フィルタ(または関数)を作成することができます:それは良い質問

PS C:\> filter replace-slash {$_ -replace "\\", "/"} 
PS C:\> Get-Location | replace-slash 
C:/ 
関連する問題