1

Рассмотрим следующий путь

c:\App1\;c:\App2\

Каталог App1 содержит приложение Foo.exe
Каталог App2 содержит приложение Bar.exe

Теперь, когда я в окне CMD, я могу напечатать Foo.exe или Bar.exe.

Теперь есть способ узнать, когда я набираю Foo.exe, что он разрешается в C:\App1\Foo.exe.

Мне нужно знать, потому что у меня есть одно приложение, которое вмешивается в start . команда, которую я широко использую в Powershell (при работе с Git-репозиторием).

2 ответа2

2

Вы ищете команду where .

C:\Users\gronostaj>where grep
C:\MinGW\msys\1.0\bin\grep.exe
C:\FPC\2.6.0\bin\i386-Win32\grep.exe
C:\Program Files (x86)\Git\bin\grep.exe

Первый выполняется при вводе его имени.

И помните, что текущий рабочий каталог всегда имеет приоритет над PATH в Windows.

C:\Program Files (x86)\Git\bin>where grep
C:\Program Files (x86)\Git\bin\grep.exe
C:\MinGW\msys\1.0\bin\grep.exe
C:\FPC\2.6.0\bin\i386-Win32\grep.exe
2

Предполагая, что PATH является переменной среды, используйте $exeLocation = Get-Command $exename | Select -Expand Path

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .