Cómo habilitar los nombres de carpetas y archivos sensibles a mayúsculas y minúsculas en Windows 10
Windows 10 ahora ofrece un sistema de archivos opcional que distingue entre mayúsculas y minúsculas, al igual que Linux y otros sistemas operativos similares a UNIX. Todos los procesos de Windows manejarán los archivos y carpetas que distinguen entre mayúsculas y minúsculas correctamente si habilita esta función. En otras palabras, verán "archivo" y "Archivo" como dos archivos separados.
Como funciona esto
Esta es una característica del sistema de archivos NTFS que puede habilitar por directorio. No se aplica a todo su sistema de archivos, por lo que puede habilitar la distinción entre mayúsculas y minúsculas para carpetas específicas que utiliza para fines de desarrollo.
La sensibilidad a las mayúsculas y minúsculas se agregó en la actualización de abril de 2018 de Windows 10. Antes de esto, era posible montar carpetas de Windows como mayúsculas y minúsculas dentro del entorno Bash en Windows, también conocido como el Subsistema de Windows para Linux. Eso funcionó bien en el entorno Linux, pero confundió las aplicaciones normales de Windows. Esta es ahora una función de nivel de sistema de archivos, lo que significa que todas las aplicaciones de Windows también verán un sistema de archivos que distingue entre mayúsculas y minúsculas en esa carpeta..
Esta característica está habilitada a través del fsutil.exe
comando, que debe ejecutar desde la línea de comandos. Puede hacerlo desde una ventana de símbolo del sistema o PowerShell. Con la configuración predeterminada, las carpetas que crea dentro del entorno Linux se configuran automáticamente para que distingan entre mayúsculas y minúsculas, también.
Cómo establecer un directorio como sensible a mayúsculas y minúsculas
Para comenzar, haga clic derecho en el botón Inicio y luego seleccione el comando "PowerShell (Administrador)". Si prefiere usar el símbolo del sistema, puede buscar "Símbolo del sistema" en el menú de Inicio, hacer clic derecho y luego seleccionar el comando "Ejecutar como administrador". El comando funciona de la misma manera, independientemente del entorno de línea de comandos que elija.
Es posible que no necesite realmente acceso de administrador para ejecutar este comando, dependiendo de sus permisos. Técnicamente, necesita el permiso de "escritura de atributos" para el directorio que desea modificar. En la mayoría de los casos, esto significa que necesitará permisos de administrador si desea editar una carpeta en algún lugar fuera de su carpeta de usuario, como c: \ project, y no si desea modificar una carpeta en algún lugar dentro de su carpeta de usuario, como como en c: \ users \NOMBRE\proyecto.
Antes de continuar, asegúrese de que ningún software Linux en ejecución esté haciendo referencia al directorio que está a punto de modificar. No debe cambiar el indicador de sensibilidad a las mayúsculas en una carpeta mientras el software de Linux lo está accediendo. Si alguno de los procesos Linux en ejecución tiene actualmente abierto el directorio o algo dentro del directorio, incluso si se trata de su directorio de trabajo actual, las aplicaciones de Linux no reconocerán el cambio y pueden ocurrir problemas.
Para hacer que una carpeta distinga entre mayúsculas y minúsculas, escriba el siguiente comando, reemplazando “carpeta C: \” con la ruta a la carpeta:
archivo fsutil.exe setCaseSensitiveInfo C: \ folder enable
Si la ruta de la carpeta tiene un espacio en ella, encierre la ruta completa entre comillas, así:
archivo fsutil.exe setCaseSensitiveInfo "C: \ mi carpeta" habilitar
Esto no afecta a las subcarpetas
El indicador de sensibilidad a mayúsculas solo afecta a la carpeta específica a la que lo aplica. No es heredado automáticamente por las subcarpetas de esa carpeta.
En otras palabras, si tiene una carpeta llamada carpeta C: \ y tiene subcarpetas C: \ folder \ test y C: \ folder \ stuff dentro de ella, simplemente hacer que la carpeta C: \ sea sensible a mayúsculas y minúsculas no haría que Subcarpetas de "prueba" y "cosas" dentro de las mayúsculas y minúsculas. Necesitarías ejecutar el apropiado fsutil
comando por separado para que las tres carpetas distingan mayúsculas y minúsculas.
Las herramientas de Linux crean carpetas sensibles a mayúsculas de forma predeterminada
Las herramientas de Linux que ejecuta dentro del Subsistema de Windows para Linux (shell Bash) ahora crean carpetas con el conjunto de indicadores que distingue entre mayúsculas y minúsculas. Entonces, si usas el mkdir
el comando para crear un directorio dentro de un shell Bash o una herramienta de desarrollo lo hace por usted, el directorio creado se configura automáticamente como sensible a mayúsculas y minúsculas, incluso si lo crea en su sistema de archivos de Windows montado.
Técnicamente, esto ocurre porque el sistema de archivos DrvFs para el entorno Linux utiliza el case = dir
bandera por defecto. los case = dir
la opción establece que el entorno Linux respete el indicador NTFS de cada directorio y que establezca automáticamente el distintivo de mayúsculas y minúsculas en los directorios creados desde el entorno Linux. Puede cambiar esta opción en su archivo wsl.conf, si lo desea.
Siempre que cree carpetas desde el entorno de Linux, se crearán con la configuración adecuada de sensibilidad de mayúsculas y minúsculas y nunca tendrá que tocar el comando fsutil.exe.
Cómo verificar si un directorio distingue mayúsculas de minúsculas
Para verificar si un directorio actualmente distingue entre mayúsculas y minúsculas, ejecute el siguiente comando, reemplazando "C: \ folder" con la ruta a la carpeta.
archivo fsutil.exe queryCaseSensitiveInfo C: \ folder
Si la sensibilidad de mayúsculas y minúsculas está habilitada para un directorio, verá que el "Atributo sensible a mayúsculas y minúsculas en el directorio [ruta de acceso] está habilitado". Si el directorio utiliza la insensibilidad de mayúsculas y minúsculas estándar de Windows, verá que el El directorio [ruta] está deshabilitado ".
Cómo hacer que un directorio sea insensible
Para deshacer su cambio y volver a hacer que un directorio sea insensible (como lo pretendió Bill Gates), ejecute el siguiente comando, reemplazando "C: \ folder" con la ruta a la carpeta.
archivo fsutil.exe setCaseSensitiveInfo C: \ folder disable
Si intenta deshabilitar la distinción entre mayúsculas y minúsculas para una carpeta que contiene archivos con nombres que podrían colisionar, verá un mensaje de "Error: el directorio no está vacío". Deberá eliminar o cambiar el nombre de los archivos en conflicto antes de continuar.