Назад | Перейти на главную страницу

Измените текущий каталог на каталог пакетного файла

у меня есть bat файл в окнах, которые выполняют procdump операция. Проблема с пакетным файлом заключается в том, что мне нужно сначала записать cd в каталог пакетного файла перед выполнением задания, иначе сценарий не будет работать.

Как перейти в каталог текущего пакетного файла?

Я попробовал следующий код в своем procdump.bat:

cd "%~dp"
procdump -h devenv.exe mydump.txt

Но это не удалось, сообщение об ошибке:

Следующее использование оператора пути при замене пакетных параметров недопустимо:% ~ dp "

Для допустимых форматов введите CALL /? или ЗА /?

Редактировать: Ответ предоставлен работает, но есть только одна загвоздка: если мой текущий каталог отличается от каталога пакетного файла, я бы получил сообщение «Система не может найти указанный путь». У кого-нибудь есть идеи?

Хорошо, я думаю, что нашел Вот что ты имеешь в виду с %~dp.

Я думаю, что вы действительно хотите сделать следующее:

cd /D "%~dp0"

(!) Но обратите внимание, что это все равно не даст вам правильного поведения, когда вы пытаетесь выполнить свой пакет, когда текущий каталог находится на другом диске как cd не меняет активный диск.

редактировать: Видимо (спасибо @Yoopergeek) вы можете добавить /D параметр к cd команда, позволяющая также изменить активный диск.

Я бы оставил комментарий к ответу fretje, но, очевидно, я не могу ???


Во всяком случае, по поводу примечания:
Но обратите внимание, что это все равно не даст вам правильного поведения, когда вы пытаетесь выполнить свой пакет, когда текущий каталог находится на другом диске, поскольку cd не меняет активный диск.


Использовать /D переключитесь в вашей команде CD, и CD изменит активный привод.