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

Вы не говорите, каково операционная система это, но Вы могли использовать что-то как TCPflow, wireshark или tcpdump для получения пакетов, поскольку это отправляется по сети.

Если это - Windows, я полагаю, назад в день, что большинство диалоговых окон принтера позволяет Вам распечатать в файл. Это, по-видимому, было бы выводом соответствующего драйвера. Это было таким длинным, так как я использовал Windows, что можно, вероятно, безопасно проигнорировать этот абзац. Это - возможно вещь Windows 3.11.

18
задан 20 March 2018 в 11:45
3 ответа

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

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

cd /D "%~dp0"

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

Править: По-видимому (благодарит @Yoopergeek) можно добавить /D параметр к cd управляйте, чтобы позволить ему также изменить активный диск.

24
ответ дан 2 December 2019 в 20:22
  • 1
    Для получения дополнительной информации об этих пакетных параметрах см. help call в cmd подсказка. –  Paused until further notice. 18 December 2009 в 17:00
  • 2
    Между прочим, можно объединить те параметры как это: %~dp0 –  Paused until further notice. 18 December 2009 в 17:02
  • 3
    Ваш ответ полезен; но если мой текущий каталог в другом каталоге, который пакетный файл, затем приведет к сбою вышеупомянутая команда; даже cd /D или cd "%~dp0" /D can' t справка. –  Graviton 18 December 2009 в 17:58
  • 4
    @Ngu Скоро Hui: То, что Ваш текущий dir в другом dir, чем пакетный файл был очевиден. Но почему это управляло бы сбоем? I' ve протестировал его здесь, и это работает. –  fretje 18 December 2009 в 18:01
  • 5
    I' ve нашел решение при помощи cd /D "%~dp0".Спасибо. –  Graviton 6 January 2010 в 05:22

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


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


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

4
ответ дан 2 December 2019 в 20:22
  • 1
    ... все же я могу прокомментировать свой собственный ответ. Человек, сосет, чтобы не иметь никакого представителя на ServerFault... желают некоторым ТАК представителя ' bled' к здесь. –  Yoopergeek 18 December 2009 в 16:44
  • 2
    @Yoopergeek: можно связать учетные записи. That' ll дают Вам 100 представителей здесь, если Ваш представитель на ТАК выше, чем 200. –  fretje 18 December 2009 в 16:53

Вы можете выполнить pushd "%~dp0", чтобы перейти в каталог пакетного файла, даже если он находится на другом диске. Кроме того, это позволяет вам popd вернуться туда, откуда вы пришли.

1
ответ дан 16 July 2021 в 00:19

Теги

Похожие вопросы