Echo% path% w oddzielnych wierszach?

84

Czy korzystając z wiersza poleceń systemu Windows, mogę powtórzyć% path% i uzyskać wynikowe ścieżki w oddzielnych wierszach? Coś takiego, ale dla okien:

echo $path | tr ':' '\n'

Czy mogę to zrobić za pomocą vanilla cmd, czy potrzebuję skryptów PowerShell lub JS?

Przykładowe wyjście echo% path%:

C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Microsoft SQL Server\80\Tools\Binn\;C:\Program Files\Microsoft SQL Server\90\DTS\Binn\;C:\Program Files\Microsoft SQL Server\90\Tools\binn\;C:\Program Files\Microsoft SQL Server\90\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies\;

Pożądane wyjście:

C:\WINDOWS\system32;
C:\WINDOWS;
C:\WINDOWS\System32\Wbem;
C:\Program Files\Microsoft SQL Server\80\Tools\Binn\;
C:\Program Files\Microsoft SQL Server\90\DTS\Binn\;
C:\Program Files\Microsoft SQL Server\90\Tools\binn\;
C:\Program Files\Microsoft SQL Server\90\Tools\Binn\VSShell\Common7\IDE\;
C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies\;
Carl R.
źródło

Odpowiedzi:

140

Próbować:

 ($env:Path).Replace(';',"`n")

lub

$env:path.split(";")
Ekkehard.Horner
źródło
Co jest nie tak z następującymi? powershell -Command ($ env: Path) .Replace (';', "` n ")
Carl R
4
PowerShell ma -replaceoperator: $env:Path -replace ';',"n "`
stej
5
Nie powiedzie się, jeśli ścieżki w cudzysłowie zawierają średniki.
Joey,
@Joey: Co w takim razie powinienem zrobić?
Eric
1
@stej Użyj potrójnych lewych apostrofów:$env:Path -replace ';',"`n"
wjandrea
45

Mniej naciśnięć klawiszy przy użyciu operatora podziału lub metody

$env:Path -split ';'
$env:Path.split(';')
Doug Finke
źródło
3
Nie powiedzie się, jeśli ścieżki w cudzysłowie zawierają średniki.
Joey,
5
($env:Path).Split(";") | Sort-Object
Ładnie
9

to działa dla mnie (w oknie cmd):

powershell -Command ($env:Path).split(';')
leonardo4it
źródło