Эхо% path% в отдельных строках?


84

Могу ли я повторить% path% с помощью командной строки Windows и получить результирующие пути в отдельных строках? Что-то вроде этого, но для windows:

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

Могу ли я сделать это с помощью vanilla cmd или мне нужны сценарии powershell или js?

Пример вывода 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\;

Желаемый результат:

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\;

Ответы:


140

Try:

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

or

$env:path.split(";")

What is wrong with the following? powershell -Command ($env:Path).Replace(';',"`n")
Carl R

4
PowerShell has -replace operator: $env:Path -replace ';',"n"`
stej

5
Will fail with quoted paths that contain semicolons.
Joey

@Joey: What should I do instead then?
Eric

1
@stej Use triple backticks: $env:Path -replace ';',"`n"
wjandrea

45

Fewer keystrokes using either the split operator or method

$env:Path -split ';'
$env:Path.split(';')

3
Will fail with quoted paths that contain semicolons.
Joey

5
This looks nice with a sort: ($env:Path).Split(";") | Sort-Object
jrsconfitto

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.