2010-03-09 12 views
6

Tengo un gran script que depende totalmente de PUSHD. Sin embargo repentinamente cuando escribo pushd \\server1\dir1 que estoy recibiendo:¿Qué podría hacer que PUSHD fallara?

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

bien, estoy consciente de que el CMD no admite rutas UNC. Es por eso que estoy usando PUSHD. Cuando busco esto, encuentro muchas publicaciones que dicen "Cuando te encuentres con este mensaje sobre rutas UNC, ¡debes usar PUSHD!". Bien, estoy encontrando ese mensaje y usando PUSHD.

Intenté usar CMD /E:ON porque PUSHD solo está activo cuando aparentemente están habilitadas las extensiones de comando. Mismo resultado.

Miré para ver si de alguna manera no tenía letras de unidad (ya que PUSHD comienza en Z: y retrocede para encontrar una letra de unidad). Nop.

Intenté iniciar mi cmd en el c: \ dir (cd c:\ luego pushd \\server1\dir1).

Confirmé que la unidad está allí y tengo acceso a ella, a través de Windows Explorer.

Y ahora estoy sin ideas. referencia

comandos Pushd: Link

Respuesta

5

Aceptar la respuesta a esta , por lo que puedo decir, es que si estás en Y: en tus unidades mapeadas, pushd no funcionará. Entonces necesita hacer net use y: /delete (o alguna otra letra de unidad) luego mapear su unidad usando pushd. Hice mapear todas las letras de unidad, a excepción de Z y A. ¿Tal vez Z está reservado? No se.

Mi error fue comprobar si Z: estaba disponible (no fue asignado). Aparentemente, si ha mapeado todo hasta Y incluido, entonces no mapeará Z :. No tengo idea por qué.

+0

También puede hacer clic derecho en la unidad mapeada en Mi PC y hacer clic en 'Desconectar'. – ThePersonWithoutC

0

No sería asignar la unidad a la letra como de costumbre haría el truco antes de la 'pushd' ... como en tu ejemplo

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

pushd no se supone que dependa del uso de la red. El punto de pushd es 'resolverlo': mapear una unidad y cambiar la pwd a ella. – jcollum

1

Debe asegurarse de que las extensiones de comando estén habilitadas.

Las claves de registro son:

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

ha configurado como 0x1 (Enabled) o 0x0 (desactivado). La configuración específica del usuario tiene prioridad sobre la configuración de la máquina.

También asegúrese de que haya letras de unidad disponibles para el comando pushd. Si todas las letras de unidad ya están asignadas y en uso, el comando pushd fallará de la misma forma que usted lo ha detallado.

Cuestiones relacionadas