Asignación de letras de unidad a carpetas locales

89

¿Hay una ventana equivalente al antiguo SUBSTcomando dos ?

Quiero poder asignar una letra de unidad local a una carpeta en una unidad local.

Me doy cuenta de que una unidad asignada funcionará (y hasta ahora esa es la técnica que terminé usando), pero no parece interrumpirse hasta bastante tarde en el proceso de arranque. También en el pasado intenté poner SUBSTcomandos en archivos por lotes en el proceso de arranque, pero tampoco parece funcionar.

PaoloFCantoni
fuente
Posible duplicado de ¿Cómo monte una unidad de red en una carpeta?
Cristian Ciupitu

Respuestas:

92

¡Buenas noticias! ¡El substcomando aún funciona en Windows 7 !

Para crear una nueva asignación:

subst x: C:\Folder\Example

Para eliminar una asignación:

subst x: /D

Josh
fuente
2
Sí, sé que funciona, pero no pude lograr que ocurriera automáticamente en el arranque (especialmente lo antes posible). ¿Sabes cómo se puede hacer eso?
PaoloFCantoni
1
¿Has intentado crear un archivo por lotes con el comando anterior y agregarlo como un script de inicio en gpedit.msc/ Local Group Policy Editor?
Josh
Ahora ... no creo haberlo rastreado (no ser un administrador de sistemas) cuando lo intenté antes. Parece ser el lugar para hacerlo ... Sin embargo, usando el punto @ 50-3 puedo usar NET USE en lugar de SUBST.
PaoloFCantoni
66
¡Precaución! SUBST es prácticamente inutilizable en una configuración multiusuario (incluso si solo un usuario real + un administrador). Como una asignación SUBST es local para el usuario , ¡otros usuarios no la verán! Por ejemplo, hace clic en "Ejecutar como administrador" en un acceso directo que apunta a un lugar SUBST-ed, y no se ejecutará.
Sz.
91

Alternativa:

net use x: \\ localhost \ c $ \ Folder \ Example

La diferencia entre net usey substdebajo del descanso


subst

Cuando un recurso compartido no esté disponible subst, intentará una y otra vez volver a conectarlo, lo que afectará gravemente el rendimiento de su PC mientras intenta volver a conectarse. Esto es menos común al asignar archivos locales, ya que solo ocurrirá si dice cambiar el nombre de las carpetas en la ruta. La resolución si esto ocurre essubst x: /d

uso neto

net usese introdujo en win2k / xp para proporcionar una alternativa a esto. Cuando net usese usa para conectarse a una ubicación y esa ubicación se vuelve inaccesible, Windows informará que la unidad está desconectada y no intentará volver a conectarse hasta que el usuario intente volver a conectarse a los recursos en la unidad asignada. Esto resuelve los problemas de rendimiento observados ensubst


Para obtener más información sobre ambos comandos, puede consultar a través de la línea de comandos con /?

net use /? Y subst /?

50-3
fuente
1
Normalmente, dado que la unidad a la que quiero asignar es local, usaría SUBST. Sin embargo, dado que es una unidad local conectada por USB y no siempre está disponible, ¿desencadenará el problema descrito anteriormente?
PaoloFCantoni
1
Bien pensado, pero como sucede, tengo la intención de usarlo en una tableta transformadora ASUS TX300CA Windows 8 que tiene una base para teclado desmontable. En la parte de la tableta NO hay puertos USB, por lo que el BIOS debe asignar las unidades de base para teclado (que son USB) antes que nada. Entonces deben ser estables. Estoy seguro de que ASUS lo habría solucionado.
PaoloFCantoni
2
Además de la funcionalidad de reintento, ¿hay alguna diferencia en el rendimiento entre los dos métodos? El net useenfoque parece preferible, pero si hay una sobrecarga significativamente mayor porque involucra la pila de red, usaré subst ya que no es probable que me encuentre con el problema de reintento.
Jay Paroline
66
Para googlers: el uso de la red no permite que la ruta contenga una barra invertida final, arroja un error críptico 67. Simplemente elimine la barra inclinada.
Steed
2
Y cuando no pueda entender por qué Explorer, etc., no muestran su nueva unidad brillante, recuerde eso Mapped network drives created by an elevated process will not be visible to an unelevated process and vice versa(el enlace también explica cómo puede ajustar el registro para evitarlo).
brichins
31

La mejor manera de hacer esto durante el arranque es incluirlo en el registro . Abra regedit.exe y navegue hasta

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ DOS Devices

Agregue un nuevo valor REG_SZ y asígnele el nombre X:donde X es su letra de unidad

El valor debe ser la ruta en este formulario

\DosDevices\C:\Folder\Example    
Jeff H
fuente
De esta forma, los programas que se ejecutan como administrador pueden ver la unidad. substNo se ven unidades.
Jean-François Fabre
¿Tienes que hacer algo (como reiniciar) para que esto surta efecto?
DaveInCaz
Debe tenerse en cuenta que, a menos que se tomen medidas adicionales, los archivos que se eliminan de la unidad asignada se eliminan permanentemente en lugar de enviarse a la Papelera de reciclaje (esto aparentemente es cierto si utiliza el enfoque de registro, SUBST o NET USE). No tengo suficiente reputación para agregar una nueva respuesta a esta pregunta, pero agregué una respuesta a una pregunta similar que amplía el enfoque del registro y habilita la Papelera de reciclaje.
Tony Pulokas
2

Otra forma es poner un recurso compartido en la carpeta que desea asignar. Luego puede usar la opción de unidad de red de mapa a la que puede acceder haciendo clic derecho en mi computadora en Windows Explorer.

Tenga en cuenta que deberá activar el descubrimiento de red antes de configurar el recurso compartido.

La ventaja de este enfoque es que establece la opción de crear al iniciar sesión.

Mike payne
fuente
1

Solo para agregar a las respuestas anteriores. Otra opción es un enlace simbólico que se trata en esta pregunta SU ¿ Cómo montar una unidad de red en una carpeta?

usuario986363
fuente
La creación de un enlace simbólico usando mlink funciona de maravilla, pero debe tenerse en cuenta que solo puede usarlo para crear una carpeta, no una nueva letra de unidad.
Tony Pulokas
-5

La mejor manera es a través de la gestión de unidades. Puede especificar una ruta para montar una unidad en lugar de una letra de unidad.

Vaya a Panel de control -> Herramientas de administración -> Administración de equipos -> Administración de unidades.

Haga clic derecho en el volumen que desea cambiar y seleccione Cambiar letra de unidad y rutas.

De esta manera, puede eliminar la letra de unidad original y montarla solo bajo un directorio. Así es como puede evitar el límite de 24 unidades en Windows.

Kevin
fuente
3
Esto solo le permite crear asignaciones lógicas de letras de controlador a particiones. No le permite crear una asignación de letra de unidad lógica a una carpeta / ruta / directorio, por lo que no aborda las necesidades de TC / OP.
Nube
1
¿Qué tiene esto que ver con la pregunta?
Kangarooo