В пакетном файле,% кд% является наиболее часто используемой командой для текущего каталога, хотя вы можете установить собственные переменный:
set mypath=%cd%
echo %mypath% (where %mypath% is the current directory that the batch file is sitting in)
Так что вы были желающими открыть myprog.exe. Если он был в той же папке, вы должны использовать команду:
start %mypath%\Myprog.exe
Это откроет Myprog из текущей папки.
Другой вариант - создать каталог в C: AutomatePrograms. Затем перенести файлы в эту папку, то вы можете открыть их с помощью следующей команды:
start C:\AutomatePrograms\Myprog1.exe
start C:\AutomatePrograms\Myprog2.exe
start C:\AutomatePrograms\Myprog3.exe
@ Јοеу - '% 0' может дать имя текущей подпрограммы, но'% ~ dp0' ** всегда ** дает полный путь к исполняемому пакетному файлу. – dbenham
На самом деле это выглядит как% ~ dp0 дает полный путь к * каталогу *, в котором находится исполняемый командный файл.% ~ Dpnx0 (что эквивалентно% ~ f0) дает полный путь к пакетному файлу. Подробнее см. Http://www.robvanderwoude.com/parameters.php. – deadlydog
См. Также подробные ответы на аналогичный вопрос: [Получить список переданных аргументов в пакетном скрипте Windows (.bat)] (http: // stackoverflow.com/q/357315/938111) – olibre