Explore una ruta UNC utilizando Windows CMD sin asignarla a una unidad de red

154
C:\> cd \\somewhere
'\\somewhere'
CMD does not support UNC paths as current directories.

Lo que generalmente hago para solucionar esto es asignar ese directorio a una unidad de red y luego podría acceder fácilmente desde el símbolo del sistema.

Pero, ¿hay alguna manera más fácil de evitar esto?

Andreas Grech
fuente
12
que ventanas usas Si es Windows 7, tiene PowerShell preinstalado en su sistema. Powershell admite rutas de acceso unc y comandos cmd (con algunas excepciones).
wullxz
Siempre puede buscar la ruta unc a través de la ejecución.
Supercereal
1
@wullxz: salud, no sabía que podía explorar rutas UNC con PowerShell. @kyle: Esa es una respuesta válida de acuerdo con mi pregunta :) Pero quiero acceder desde un entorno de línea de comandos. Modificará mi pregunta para aclarar esto.
Andreas Grech
Si su problema es que necesita trabajar solo desde la línea de comandos, puede asignar la unidad de red con el comando 'net': net use x: \\ computer name \ share name
Al Crowley
1
@Aleister Crowley: Sí, lo sé, pero estoy preguntando si hay una manera más fácil que no implique el mapeo de una unidad de red.
Andreas Grech

Respuestas:

210

Si usa pushdy en su popdlugar cdno obtendrá ese error UNC.

pushd <UNC path>creará una unidad virtual temporal y entrará en ella.
popdeliminará la unidad temporal y lo llevará de regreso a la ruta que estaba cuando ingresó pushd.

Ejemplo:

C:\a\local\path> pushd \\network_host\a\network\path

U:\a\network\path> REM a temporary U: virtual drive has been created

U:\a\network\path> popd

C:\a\local\path> REM the U: drive has been deleted

C:\a\local\path>
evanmcdonnal
fuente
13
El uso pushdcrea una asignación de unidad al recurso compartido de red y luego cambia a una ruta relativa al recurso compartido que crea. popddesconecta el recurso compartido.
Dov
2
Esto no funcionó para mí en Windows 10.C:\WINDOWS\system32>pushd \\some\network\path ' ' CMD does not support UNC paths as current directories.
kayleeFrye_onDeck
1
Simplemente funcionó para mí en Windows 10, qué extraño. Lo hice pushd \\ServerName\home\dir\dir2.
Diziet
3
Nativo y elegante, solo una maravilla. Funciona para Windows 10.
WesternGun
¿Hay algún truco para que funcione cuando las credenciales de compartir no coinciden con las credenciales de usuario de la máquina?
Perkins
15

Utilizo Git Bash para hacer esto, ya que ya lo tengo instalado.

ingrese la descripción de la imagen aquí

Como un beneficio adicional:
También tiene mejores colores, vamos a usarme ls, rm, etc., y utiliza la barra correcta de rutas. :PAGS

Dan
fuente
También puede usar barras diagonales inversas si escapa con barras diagonales inversas:cd \\\\server\\share\\subdirectory
user121391
1
Además, si intenta utilizar la finalización de tabulación con los nombres de las computadoras, el shell puede bloquearse durante algún tiempo hasta que se resuelvan los nombres.
user121391
no funciona para mí
KansaiRobot
12

La "Extensión de ContextConsole Shell" de Kliu (también conocido como Símbolo del sistema abierto) lo dice, "incluso puede abrir directorios desde rutas de red (rutas UNC)" (desde una ventana del Explorador).

http://code.kliu.org/cmdopen/

ingrese la descripción de la imagen aquí

Therube
fuente
3
¡Este programa es increíble!
Afrazier
1
Estoy sorprendido por la captura de pantalla, ¡existe!
LiuYan 刘 研
recuerde abrir la unidad // y no una versión asignada. Fallará en el mapeado.
twobob
8

También me encontré con el problema de UNC C:\> cd \\somewhereen un programa en C. Encontré esta página y aprendí sobre el netcomando: ¡ net use x: \\computer name\share namey lo usé con éxito! Gracias a todos los que publican sus experiencias para que otros aprendan. :-)

Peter Evans
fuente
1
Sí, pero el uso net useasignará esa ubicación a una unidad de red y eso no es lo que quería.
Andreas Grech
2
@AndreasGrech, en realidad pushdtambién lo hace.
Pacerier
Esto funciona bien en Far+ ConEmu, a diferencia de pushd.
Dzmitry Lahoda
@Pacerier Pero pushdselecciona automáticamente una letra de unidad y desconecta la unidad de red cuando ya no es necesaria (después popdo exit).
Martin
4

Si está utilizando XP, puede echar un vistazo a este sitio http://support.microsoft.com/kb/156276

Hay un valor de registro que debe agregar, cerrar sesión, volver a iniciar sesión ... y ahora su cmd.exe admite rutas UNC. Me parece que todavía no puedes cd a la ruta, pero puedes usarlo en otros comandos como dir, copiar ...

Una alternativa podría ser usar el comando pushd, que le permitirá cambiar al recurso compartido (supongo que al asignarle una letra de unidad temporal) http://support.microsoft.com/kb/317379

BigBlackDog
fuente
Las páginas que vinculó parecen páginas vacías ......
Pacerier
Los enlaces funcionan aquí. ¿Has intentado usar https?
BigBlackDog
-3

Puede usar la aplicación HttpFileServer, es sobre Windows, muy ligera y muy fácil de configurar, le permite compartir una carpeta de red UNC (\ server \ share) con el protocolo HTTP y el enlace HTTP se puede usar en cualquier página HTML

http://www.rejetto.com/hfs/

es asombroso

Salman
fuente
8
No es muy útil para un usuario de línea de comandos.
Isaac Rabinovitch
Estoy de acuerdo en que este es un software increíble, pero ¿cómo se puede usar para evitar el hecho de que la aplicación de ventana CMD no maneja UNC?
Jay Elston el