что может привести к сбою PUSHD? - PullRequest
6 голосов
/ 09 марта 2010

У меня есть большой большой сценарий, который полностью зависит от PUSHD. Однако внезапно, когда я набираю pushd \\server1\dir1, я получаю:

C:\Documents and Settings\userNameHere>pushd \\server1\dir1
' '
CMD does not support UNC paths as current directories.

ОК, я знаю, что CMD не поддерживает UNC-пути. Вот почему я использую PUSHD. Когда я ищу это, я нахожу много сообщений, которые говорят: «Когда вы сталкиваетесь с этим сообщением о путях UNC, вы должны использовать PUSHD!». Ну дерьмо, я сталкиваюсь с этим сообщением и , используя PUSHD.

Я пытался использовать CMD /E:ON, потому что PUSHD активен только когда включены расширения команд, по-видимому. Тот же результат.

Я посмотрел, нет ли у меня букв дисков (поскольку PUSHD начинается с Z: и идет назад, чтобы найти букву диска). Нету.

Я попытался запустить cmd с c: \ dir (cd c:\, затем pushd \\server1\dir1).

Я подтвердил, что диск есть, и у меня есть доступ к нему через Проводник Windows.

А теперь у меня нет идей.

Ссылка Pushd: Ссылка

Ответы [ 3 ]

5 голосов
/ 09 марта 2010

ОК, насколько я могу судить, ответ на этот вопрос заключается в том, что если вы находитесь на Y: в ваших подключенных дисках pushd не будет работать. Поэтому вам нужно набрать net use y: /delete (или другую букву диска), а затем подключить ваш диск с помощью pushd. У меня были сопоставлены все буквы диска, кроме Z и A. Может быть, Z зарезервировано? Я не знаю.

Моя ошибка заключалась в проверке наличия Z: (оно не отображалось). Очевидно, что если вы сопоставили все до и включая Y:, тогда Z: не отобразится. Понятия не имею почему.

1 голос
/ 05 октября 2012

Необходимо убедиться, что расширения команд включены.

Ключи реестра:

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\EnableExtensions
and/or
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtensions

Установите либо 0x1 (включено), либо 0x0 (отключено). Пользовательские настройки имеют приоритет над настройками машины.

Также убедитесь, что для команды pushd доступны буквы дисков. Если все буквы дисков уже сопоставлены и используются, то команда pushd завершится сбоем так же, как вы подробно описали.

0 голосов
/ 09 марта 2010

Не будет отображать диск на букву, как обычно, сделает трюк до 'pushd' ... как в вашем примере

net use E: \\\\server1\\dir1
pushd E:\
....
popd
...