40 votes

Comment rendre Windows 7 entièrement sensible à la casse par rapport au système de fichiers?

Je veux rendre Windows 7 sensible à la casse lorsqu'il lit/écrit quelque chose sur le disque dur (le disque C, ou tout autre lecteur NTFS).

J'ai trouvé une vidéo sur Google qui dit de modifier la clé de registre

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\DontPrettyPath

à une valeur de 1 (source).

J'ai également trouvé un article de support Windows qui parle de modifier la clé de registre

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Kernel\obcaseinsensitive

ce qui me laisse penser qu'en mettant une valeur de 0, Windows sera sensible à la casse avec les systèmes de fichiers NTFS (source).

J'ai le sentiment que la deuxième solution est la réponse, mais je ne suis pas sûr et je ne veux pas essayer sans être certain.

Est-ce que quelqu'un sait avec certitude quelle est la bonne façon de rendre Windows 7 sensible à la casse lorsqu'il lit/écrit sur le disque C (et tout autre lecteur NTFS)?

29voto

Bass Points 573

Vous pouvez définir la valeur du Registre HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\ dword:ObCaseInsensitive sur 0 comme l'ont suggéré d'autres auteurs. Créez un fichier nommé add.reg avec le contenu suivant et exécutez-le.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\kernel]
"obcaseinsensitive"=dword:00000000

Ensuite, utilisez Cygwin pour travailler avec des noms de fichiers sensibles à la casse.

Pour ce faire, vous devez monter les systèmes de fichiers NTFS avec l'option posix=1 dans votre fichier /etc/fstab, comme le suggère cet article. Voici un extrait de mon fichier fstab:

none                    /cygdrive       cygdrive        binary,posix=1,user             0 0
C:                      /cygdrive/c     ntfs            binary,posix=1,user,auto        0 0
C:/Users                /home           ntfs            binary,posix=1,user,auto        0 0

Une fois que tout cela est fait, vous pourrez traiter des noms de fichiers sensibles à la casse en utilisant bash, mc, git, etc.

17voto

venimus Points 1270

Tous ces paramètres que vous pouvez trouver sur le web sont pour NFS et non pour NTFS (notez la différence)!

NFS (Network File System) est un protocole réseau.

Ainsi, changer la clé de registre HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\obcaseinsensitive NE CHANGERA RIEN à ce que vous voulez.

NTFS est sensible à la casse mais l'API Windows NE L'est PAS, elle se souvient simplement de la casse du nom de fichier. Cela signifie que même si votre fichier s'affiche comme AbC.TXT, il reste accessible par abc.txt et aBc.TxT. C'est une limitation de Windows, pas de NTFS.

L'autre clé HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\DontPrettyPath désactive essentiellement la normalisation des anciens noms de fichiers 8.3 utilisés par DOS (qui sont tous en majuscules). Lorsqu'elle est activée (par défaut), ABC.TXT s'affichera comme Abc.txt, mais restera accessible par toutes les autres variations.

Pour être plus précis:

En fait, cela dépend du logiciel qui accède au système de fichiers.

S'il utilise l'API WIN32 (ce que 99,9 % des logiciels font), il sera insensible à la casse quelles que soient vos actions. Tous les logiciels intégrés à Windows (comme l'Explorateur, l'invite de commandes, Internet Explorer, etc.) et tous les logiciels grand public utilisent WIN32 et sont toujours insensibles à la casse.

Le service NFS, Java et certains autres sont POSIX et respecteront le paramètre de registre 'obcaseinsensitive'. Cependant, désactiver cette option pourrait en réalité entraîner des problèmes plus importants, car ces logiciels pourraient créer des fichiers non accessibles depuis Windows lui-même et d'autres logiciels Win32.

16voto

user1491819 Points 320

Pour créer en fait 2 fichiers avec le même nom mais de cas différent dans le même répertoire, vous devez installer Unix Services 3.5, mais cela ne fonctionne que sur un système Windows 32 bits. Ensuite, vous devez exécuter "C Shell" pour créer les fichiers. Vous ne pouvez pas créer les fichiers via l'explorateur. Une fois créés, l'explorateur ne gère pas bien les fichiers. Si vous essayez de renommer le deuxième, le curseur saute au premier. De plus, la plupart des applications ne peuvent ouvrir qu'un des fichiers, car elles s'attendent à un système de fichiers insensible à la casse. Si vous êtes sur un système 64 bits, installez Cygwin et passez-le en mode sensible à la casse.

J'essayais d'émuler un système de fichiers sensible à la casse Linux à des fins de débogage pendant le développement. Il semble que la meilleure approche soit d'utiliser VMWare avec une instance d'Ubuntu pour le développement.

4voto

beatgammit Points 1447

Je pense que c'est ce que vous cherchez :

http://www.chilkatsoft.com/p/p_454.asp

Cette page recommande de définir HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\ dword:ObCaseInsensitive à 0 pour le rendre sensible à la casse. Je pense que vous l'avez déjà trouvé cependant et que c'est la manière standard de le faire (même le KB Microsoft que vous avez trouvé le suggère).

Il semble que vous devez changer les paramètres du noyau. Faites attention aux mises à jour cependant.

EDIT : Attention cependant, certains programmes pourraient dépendre de la sensibilité à la casse.

EDIT : Vous pourriez probablement utiliser une partition UDF. Ce système de fichiers est sensible à la casse et je pense qu'il fonctionne à la fois sur Windows et Linux.

Voir ceci et ceci.

4voto

Moab Points 56700

Que Microsoft a à dire sur NTFS et le changement de sensibilité à la casse.

Il semble que vous n'ayez pas besoin de modifier le noyau pour autoriser des recherches sensibles à la casse sur le réseau.

http://technet.microsoft.com/fr-fr/library/cc783185(WS.10).aspx

.

Configuration de la sensibilité à la casse pour les noms de fichiers et de dossiers

S'applique à: Windows Server 2003 R2

Pour configurer la sensibilité à la casse pour les noms de fichiers et de dossiers en utilisant l'interface Windows Ouvrez les Services Microsoft pour le système de fichiers en réseau: cliquez sur Démarrer, pointez sur Programmes, pointez sur Outils d'administration, puis cliquez sur Services Microsoft pour le système de fichiers en réseau.

Si nécessaire, connectez-vous à l'ordinateur que vous souhaitez gérer.

Cliquez avec le bouton droit sur Serveur pour NFS, puis cliquez sur Propriétés.

Cliquez sur l'onglet Gestion des noms de fichiers.

Faites l'une des choses suivantes:

Pour activer la recherche sensible à la casse pour les noms de fichiers et de répertoires, sélectionnez la case à cocher Activer les recherches sensibles à la casse.

Pour désactiver la recherche sensible à la casse pour les noms de fichiers et de répertoires, désélectionnez la case à cocher Activer les recherches sensibles à la casse.

Cliquez sur Appliquer.

Important Ces modifications ne prendront pas effet tant que le Serveur pour NFS n'aura pas été redémarré. Pour plus d'informations sur l'arrêt et le redémarrage du Serveur pour NFS, consultez le démarrage et l'arrêt du Serveur pour NFS. Vous devez également désactiver la sensibilité à la casse du noyau Windows pour que le Serveur pour NFS prenne en charge les noms de fichiers sensibles à la casse. Vous pouvez désactiver la sensibilité à la casse du noyau Windows en définissant la clé de registre suivante sur 0: HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel DWORD "obcaseinsensitive"

Pour configurer la sensibilité à la casse pour les noms de fichiers et de dossiers en utilisant la ligne de commande Ouvrez l'invite de commandes.

Pour activer la sensibilité à la casse, tapez ce qui suit:

nfsadmin serveur [NomDeL'ordinateur] configurer des recherches sensibles à la casse=oui

Pour désactiver la sensibilité à la casse et éventuellement spécifier la casse des noms de fichiers renvoyés par le Serveur pour NFS, à une invite de commandes, tapez ce qui suit:

nfsadmin serveur [NomDeL'ordinateur] configurer des recherches sensibles à la casse=non [ntfscase={majuscules | minuscules | préserver}]

Argument > Nom de l'ordinateur = Le nom de l'ordinateur que vous souhaitez configurer.

Important Ces modifications ne prendront pas effet tant que le Serveur pour NFS n'aura pas été redémarre. Pour plus d'informations sur l'arrêt et le redémarrage du Serveur pour NFS, consultez le démarrage et l'arrêt du Serveur pour NFS.

Note L'option ntfscase définit la sensibilité à la casse pour le système de fichiers NTFS. La sensibilité par défaut à la casse est préservée (préserver la casse). Pour voir la syntaxe complète de cette commande, à une invite de commandes, tapez: nfsadmin serveur /?

.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X