2010-03-09 3 views
6

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

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 ссылка: Link

ответ

5

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

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

+0

Вы также можете щелкнуть правой кнопкой мыши на подключенном диске в «Мой компьютер» и нажать «Отключить». – ThePersonWithoutC

0

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

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

pushd не должен зависеть от использования сети. Пункт pushd состоит в том, чтобы «просто понять это»: сопоставить диск и сменить pwd на него. – jcollum

1

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

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

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

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

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

Смежные вопросы