Quiero que Windows 7 distinga entre mayúsculas y minúsculas cuando lee / escribe algo en el disco duro (la unidad C o cualquier otra unidad NTFS).
Encontré un video a través de google que dice cambiar la clave de registro
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\DontPrettyPath
a un valor de 1 ( fuente ).
También encontré un elemento de soporte de Windows que dice algo sobre la modificación de la clave de registro
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\obcaseinsensitive
eso me lleva a suponer que poner un valor de 0 hará que Windows distinga entre mayúsculas y minúsculas con los sistemas de archivos NTFS ( fuente ).
Tengo la sensación de que la segunda solución es la respuesta, pero no estoy seguro y no quiero intentarlo sin estar seguro.
¿Alguien sabe con certeza cuál es la forma correcta de hacer que Windows 7 distinga entre mayúsculas y minúsculas cuando lee / escribe en la unidad C (y cualquier otra unidad NTFS)?
fuente
cygwin1.dll
que se descargará de la RAM.HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\ dword:ObCaseInsensitive
support.microsoft.com/en-us/kb/929110Para crear realmente 2 archivos con el mismo nombre pero con un caso diferente en el mismo directorio, debe instalar Unix Services 3.5, pero esto solo funciona en Windows de 32 bits. Luego debe ejecutar "C Shell" para crear los archivos. No puede crear los archivos a través del explorador. Una vez creado, el explorador no juega bien con los archivos. Si va a cambiar el nombre del segundo, el cursor salta al primero. Además, la mayoría de las aplicaciones solo pueden abrir uno de los archivos, ya que esperan un sistema de archivos que no distinga entre mayúsculas y minúsculas. Si tiene 64 bits, instale Cygwin y cámbielo a mayúsculas y minúsculas.
Intenté emular un sistema de archivos con mayúsculas y minúsculas de Linux para fines de depuración durante el desarrollo. Parece que el mejor enfoque es usar VMWare con una instancia de Ubuntu para el desarrollo.
fuente
¡Todas estas configuraciones que puede encontrar en la web son para NFS, no para NTFS (tenga en cuenta la diferencia)!
NFS (Network File System) es un protocolo de red.
Por lo tanto, cambiar la clave de registro
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\obcaseinsensitive
NO cambiará nada de lo que desee.NTFS distingue entre mayúsculas y minúsculas, pero la API de Windows NO lo hace , solo recuerda el caso del nombre de archivo. Esto significa que, a pesar de que su archivo se muestra
AbC.TXT
, todavía es accesible porabc.txt
yaBc.TxT
. Esta es una limitación de Windows, no NTFS.El otro
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\DontPrettyPath
básicamente desactiva la normalización de los nombres de archivo heredados 8.3 utilizados por DOS (que son todos mayúsculas). Cuando está activado (predeterminado)ABC.TXT
se mostrará comoAbc.txt
, pero todas las demás variaciones aún podrán acceder a él.Para ser más exactos:
En realidad, depende del software que accede al FS.
Si usa la API WIN32 (lo que hace el 99.9% del software) no distingue entre mayúsculas y minúsculas, haga lo que haga. Todo el software incorporado en Windows (como Explorer, símbolo del sistema, Internet Explorer, etc.) y todo el software de consumo que se encuentra en el mercado usa WIN32 y siempre distingue entre mayúsculas y minúsculas.
El Servicio NFS, Java y algunos otros son POSIX y obedecerán la configuración de registro 'obcaseinsensible'. Sin embargo, desactivar la opción podría en realidad causarle problemas mayores, ya que este software puede crear archivos que no son accesibles desde el propio Windows y otro software Win32.
fuente
SHORT.class
yShort.class
en el mismo directorio, no funcionaría. (Por supuesto, si están dentro de un archivo .jar no hay problema.)Creo que esto es lo que estás buscando:
http://www.chilkatsoft.com/p/p_454.asp
Esta página recomienda establecer
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\ dword:ObCaseInsensitive
en 0 para que sea sensible a mayúsculas y minúsculas. Sin embargo, creo que ya lo encontraste, y esta parece ser la forma estándar de hacerlo (incluso el KB de Microsoft que encontraste lo sugiere).Parece que tienes que cambiar la configuración del kernel. Cuidado con las actualizaciones sin embargo.
EDITAR: Tenga cuidado, sin embargo, algunos programas pueden depender de la insensibilidad a mayúsculas y minúsculas.
EDITAR: Probablemente podría usar una partición UDF. Este sistema de archivos distingue entre mayúsculas y minúsculas y creo que funciona tanto en Windows como en Linux.
Mira esto y esto .
fuente
Lo que Microsoft tiene que decir sobre NTFS y el cambio de mayúsculas y minúsculas.
Parece que no tiene que cambiar el núcleo para permitir búsquedas de mayúsculas y minúsculas en la red.
http://technet.microsoft.com/en-us/library/cc783185(WS.10).aspx
.
Configuración de mayúsculas y minúsculas para nombres de archivos y carpetas
Para configurar mayúsculas y minúsculas para nombres de archivos y carpetas utilizando la línea de comandos Abra el símbolo del sistema.
.
fuente
Estados de Microsoft ;
Permitir la distinción entre mayúsculas y minúsculas en Windows permitiría que el malware cree archivos a los que el usuario no pueda acceder o eliminar, por lo que no está permitido por una buena razón.
En cualquier caso, estoy bastante seguro de que si lograste que NTFS distinga entre mayúsculas y minúsculas, Windows se bloqueará y la reinstalación será la única solución.
fuente