У меня есть bat
файл на окнах, которые выполняют операцию procdump . Проблема с командным файлом заключается в том, что мне нужно сначала перейти в каталог командного файла перед выполнением задания, иначе сценарий не будет работать.
Как перейти в текущий каталог с пакетными файлами?
Я попробовал следующий код в моем procdump.bat
:
cd "%~dp"
procdump -h devenv.exe mydump.txt
Но это не удалось, сообщение об ошибке:
Следующее использование оператора пути в подстановке пакетных параметров недопустимо:% ~ dp "
Для допустимых форматов введите CALL /? или ЗА /?
Редактировать: предоставленный ответ работает, но есть только одна загвоздка: если мой текущий каталог отличается от каталога пакетного файла, то я получу «Система не может найти указанный путь». У кого-нибудь есть идеи?
windows
batch-file
Гравитон
источник
источник
Ответы:
Хорошо, я думаю, что нашел здесь то, что вы имеете в виду
%~dp
.Я думаю, что вы действительно хотите сделать, это:
(!) Но учтите, что это все равно не даст вам правильного поведения, когда вы пытаетесь выполнить свой пакет, пока текущий каталог находится на другом диске, посколькуcd
это не меняет активный диск.Редактировать : Очевидно (спасибо @Yoopergeek ) вы можете добавить
/D
параметр вcd
команду, чтобы позволить ему также изменить активный диск.источник
help call
вcmd
строке.%~dp0
cd /D
илиcd "%~dp0" /D
не могу помочь.cd /D "%~dp0"
. Благодарю.Я бы оставил комментарий к ответу Фретье, но, очевидно, я не могу ???
В любом случае, что касается примечания:
Но учтите, что это все равно не даст вам правильного поведения, когда вы пытаетесь выполнить пакет, когда текущий каталог находится на другом диске, так как cd не меняет активный диск.
Используйте
/D
переключатель в вашей команде CD, и CD изменит активный привод.источник