Скрипт Powershell для распечатки каждого значения в системном пути - PullRequest
3 голосов
/ 22 августа 2011

Я обнаружил, что могу использовать $env:Path в PowerShell, чтобы увидеть мой текущий системный путь. Тем не менее, все работает вместе на одной линии. Есть ли способ передать вывод $env:Path другой команде, которая будет печатать каждое значение пути отдельно (то есть печатать на новой строке для всего, что разделено точкой с запятой)?

В настоящее время печатается что-то вроде этого:

C:\Some Test Directory\With\Some\Files\In\It;C:\Some Test Directory\With\Some\Files\In\It;C:\Some Test Directory\With\Some\Files\In\It;C:\Some Test Directory\With\Some\Files\In\It;C:\Some Test Directory\With\Some\Files\In\It;

Я бы предпочел что-то вроде этого:

C:\Some Test Directory\With\Some\Files\In\It
C:\Some Test Directory\With\Some\Files\In\It
C:\Some Test Directory\With\Some\Files\In\It
C:\Some Test Directory\With\Some\Files\In\It
C:\Some Test Directory\With\Some\Files\In\It

Ответы [ 2 ]

13 голосов
/ 22 августа 2011
$env:Path.split(";")

PS C:\Users\user> $env:Path.split(";")
C:\Program Files (x86)\Haskell\bin
C:\Program Files (x86)\Haskell Platform\2011.2.0.1\lib\extralibs\bin
C:\Program Files (x86)\Haskell Platform\2011.2.0.1\bin
C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common
C:\Windows\system32
...

У меня работает.

1 голос
/ 29 января 2013

В Unix вы можете сделать это просто

echo $path | tr ";" "\n"

Вы можете эмулировать этот рабочий процесс в Windows одним из следующих способов:

ЯВНО

Установите gnu coreutils и добавьте каталог bin в системный путь

ИЛИ

  1. Добавьте папку для инструментов командной строки в системный путь. Например, "C: \ Program Files (x86) \ bin \"

  2. Загрузите tr как часть powertools, перенесенного из unix . Извлеките их где-нибудь еще. (Например, "C: \ Program Files (x86) \ bin \ perl \"

  3. Добавьте файл bat с именем tr.bat с этим содержимым в папку bin:

@ echo off

perl "C: \ Program Files (x86) \ bin \ perl \ tr"% *

(путь должен совпадать с тем, где вы извлекли инструменты Perl)


Результат

C:\>echo %path% | tr ";" "\n"
C:\Program Files (x86)\bin\
C:\Perl\site\bin
C:\Perl\bin
C:\WINDOWS\system32
C:\WINDOWS
C:\WINDOWS\System32\Wbem
C:\WINDOWS\System32\WindowsPowerShell\v1.0\
C:\Python27
...
...