4

У меня есть пакетный файл (lunch.bat) для запуска, который имеет команду для запуска другого пакетного файла (main.bat). Я скопировал эти два файла в мой Pendrive. Я знаю, какой диск моего pendrive установлен на моем компьютере, поэтому я могу настроить 1-й пакетный файл (lunch.bat) для запуска другого пакета на моем компьютере. Но когда я копирую эти два файла в мой pendrive и вставляю его в другой компьютер, 1-й пакетный файл не может запустить другой пакетный файл. Так что это проблема для меня. Кто-нибудь может мне помочь получить текущую команду каталога, например, функцию c++(GetCurrentDirectory), для запуска пакета с любого компьютера и с любого диска?

3 ответа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 , где бы он ни находился .

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