Скажем, мой текущий рабочий каталог - C:\Users\neubert\Documents\ или что-то в этом роде. Скажем также, что у меня есть подкаталог в этом каталоге - subdir - и файл в этом подкаталоге - filename.exe .

Когда я нахожусь в C:\Users\neubert\Documents\ с cmd а затем делаю subdir\filename я получаю The system cannot find the path specified. ошибка.

Так нельзя ли запускать программы внутри подкаталогов с помощью cmd?

1 ответ1

0

Когда вы запускаете программу с помощью cmd , в ее текущем каталоге указывается путь, который вы видите в командной строке. Я почти уверен, что рассматриваемая программа имеет некоторую зависимость от другого файла в его резидентном каталоге, который в данном случае не является его текущим каталогом, поэтому он не может найти файл. Если бы программа не существовала, вы бы увидели что-то вроде этого:

'sub\blargh.exe' is not recognized as an internal or external command,
operable program or batch file.

Вы можете доказать, что текущий каталог отличается, создав пакетный файл с именем loc.bat в папке с именем test , содержащей echo %CD% . Когда вы запустите его с test\loc из родительского каталога, вы увидите каталог командной строки, а не тот, который содержит скрипт.

Конечно, можно запускать программы в других папках, но вы должны быть осторожны с их текущей папкой. Чтобы запустить программу в определенном каталоге, вы можете использовать start /b /wait /d folder program . Если мне понадобится делать это часто, я могу создать пакетный файл, содержащий start /b /wait /d %1 %2 и поместить его в мой PATH .

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