Я создаю пользовательскую команду, и она требует, чтобы пакетный файл знал путь к каталогу, открытому в командной строке, в которой выполняется команда. Как мне этого добиться?
решение1
Чтобы узнать текущий путь, проверьте%cd%
Вот пример:
C:\>cd /d D:\temp
D:\temp>echo %cd%
D:\temp
D:\temp>
Учитывая, что этот путь изменяется, вы можете сохранить его в начале пакетного файла, используя:
set startdir=%cd%
Теперь вы можете увидеть, что %startdir%
нужно для того, чтобы получить этот путь.
Если вы хотите узнать путь, по которому находится ваш пакетный файл, то вы можете использовать переменную %0, которая содержит полный путь и имя файла пакетного файла, например:
set scriptdir=%~dp0