У меня есть пакетный файл (lunch.bat) для запуска, который имеет команду для запуска другого пакетного файла (main.bat). Я скопировал эти два файла в мой Pendrive. Я знаю, какой диск моего pendrive установлен на моем компьютере, поэтому я могу настроить 1-й пакетный файл (lunch.bat) для запуска другого пакета на моем компьютере. Но когда я копирую эти два файла в мой pendrive и вставляю его в другой компьютер, 1-й пакетный файл не может запустить другой пакетный файл. Так что это проблема для меня. Кто-нибудь может мне помочь получить текущую команду каталога, например, функцию c++(GetCurrentDirectory), для запуска пакета с любого компьютера и с любого диска?
3 ответа
3
Самый простой способ - использовать псевдопеременную% CD%. Он расширяется до текущего рабочего каталога.
set OLDDIR=%CD%
.. do stuff ..
chdir /d %OLDDIR% &rem restore current directory
1
Пакетная команда, cd
без каких-либо параметров, вернет текущий рабочий каталог.
0
Поместите этот код в файл lunch.bat
:
call %~dp0main.bat
Это запускает main.bat
с того же диска и папки, что и lunch.bat
, где бы он ни находился .