31

Если я запускаю программу в командной строке, местоположение которой определяется с помощью переменной среды Path , рабочий каталог программы обычно устанавливается в каталог установки.

Я хотел бы запустить такую программу из окна консоли и установить ее рабочий каталог в текущий или другой явный каталог. Я смог сделать это, временно скопировав программу в мой рабочий каталог - есть ли другой способ сделать это в средах cmd.exe или powershell.exe?

Аналогично этой задаче оболочка Windows заключается в создании ярлыка и соответствующей настройке свойства "Start In".

2 ответа2

33

Чтобы явно указать рабочий каталог, решением PowerShell будет использование командлета Start-Process с параметром -WorkingDirectory .

Start-Process -FilePath notepad.exe -WorkingDirectory c:\temp

Используя псевдоним start , позиционный параметр и частичное имя параметра, это можно записать как:

start notepad.exe -wo c:\temp

CMD также имеет команду START . Для этого используйте параметр /D чтобы указать рабочий каталог:

START /D c:\temp notepad.exe
5

Ниже будет работать, сделать соответствующие замены и сохранить его с расширением .cmd .

@echo off 
C:
chdir C:\desired\directory
C:\full\path\of\command.exe

Поместите этот пакетный файл в каталог в вашем %PATH% и вы сможете вызвать его из любого экземпляра cmd.exe .

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