web-dev-qa-db-fra.com

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

Je souhaite rendre Windows 7 sensible à la casse lorsqu'il lit/écrit quoi que ce soit sur le disque dur (le lecteur C ou tout autre lecteur NTFS).

J'ai trouvé une vidéo via Google qui dit de changer la clé de registre

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

à une valeur de 1 ( source ).

J'ai également trouvé un élément de support Windows qui dit quelque chose sur la modification de la clé de registre

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

cela me conduit à supposer qu'une valeur de 0 rend Windows sensible à la casse avec les systèmes de fichiers NTFS ( source ).

J'ai l'impression que la deuxième solution est la solution, mais je ne suis pas sûr et je ne veux pas essayer sans être sûr.

Quelqu'un sait-il exactement quel est le bon moyen de rendre Windows 7 sensible à la casse lorsqu'il lit/écrit sur le lecteur C (et sur tout autre lecteur NTFS)?

37
trusktr

Vous pouvez définir la valeur de 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 des systèmes de fichiers NTFS avec l'option posix=1 dans votre /etc/fstab, comme le suggère cet article . Voici un extrait de ma 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 ce qui précède terminé, vous pourrez traiter les noms de fichiers sensibles à la casse en utilisant bash, mc, git etc.

25
Bass

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

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

Ainsi, changer la clé de registre HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\obcaseinsensitive NE SERA PAS ne changera rien de votre choix.

NTFS est sensible à la casse mais Windows API n'est pas , il ne se souvient que le cas du nom de fichier. Cela signifie que même si votre fichier est affiché sous la forme AbC.TXT, il est toujours accessible par abc.txt et aBc.TxT. Ceci est une limitation de Windows, pas de NTFS.

L’autre HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\DontPrettyPath désactive fondamentalement la normalisation des noms de fichiers hérités 8.3 utilisés par DOS (qui sont en majuscule). Lorsqu'il est activé (valeur par défaut), ABC.TXT sera affiché sous la forme Abc.txt, mais restera accessible par toutes les autres variantes.

Pour être plus précis:

En réalité, cela dépend du logiciel qui accède au FS.

S'il utilise l'API WIN32 (comme le font 99,9% des logiciels), il ne fera aucune distinction entre les majuscules et les minuscules. Tous les logiciels intégrés à Windows (tels que Explorer, Invite de commandes, Internet Explorer, etc.) et tous les logiciels grand public utilisent WIN32 et respectent toujours la casse.

Le service NFS, Java et quelques autres sont POSIX et ils obéiront au paramètre de registre "obcaseinsensitive". Toutefois, le fait de désactiver cette option peut en réalité vous poser de plus gros problèmes, car ce logiciel peut créer des fichiers inaccessibles depuis Windows et les autres logiciels Win32.

16
venimus

Afin de créer réellement 2 fichiers portant le même nom mais une casse différente dans le même répertoire, vous devez installer Unix Services 3.5, mais cela ne fonctionne que sous Windows 32 bits. Ensuite, vous devez exécuter "C Shell" pour créer les fichiers. Vous ne pouvez pas créer les fichiers via Explorer. Une fois créé, Explorer ne joue pas à Nice avec les fichiers. Si vous allez renommer le second, le curseur passe au premier. En outre, la plupart des applications ne peuvent ouvrir qu'un seul fichier, car elles attendent un système de fichiers ne respectant pas la casse. Si vous utilisez la version 64 bits, installez Cygwin et modifiez-le en respectant les majuscules.

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

16
user1491819

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 sur 0 pour le rendre sensible à la casse. Je pense que vous avez déjà trouvé cela, cependant, et cela ressemble à la manière standard de le faire (même la base de connaissances Microsoft que vous avez trouvée le suggère).

Il semble que vous deviez modifier les paramètres du noyau. Méfiez-vous des mises à jour si.

EDIT: Attention, certains programmes peuvent dépendre de l’insensibilité à la casse.

EDIT: Vous pourriez probablement utiliser une partition UDF. Ce système de fichiers est sensible à la casse et je pense que cela fonctionne sous Windows et Linux.

Voir ceci et ceci .

4
beatgammit

Ce que Microsoft a à dire à propos de NTFS et de l'évolution de la sensibilité à la casse.

Il semble que vous ne devez pas modifier le noyau pour autoriser les recherches sensibles à la casse sur le réseau.

http://technet.Microsoft.com/en-us/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 des noms de fichier et de dossier à l'aide de l'interface Windows Ouvrez Microsoft Services pour le système de fichiers réseau: cliquez sur Démarrer, pointez sur Programmes, sur Outils d'administration, puis cliquez sur Microsoft Services pour système de fichiers 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 du nom de fichier.

Effectuez l'une des actions suivantes:

Pour activer les recherches de nom de fichier et de répertoire sensibles à la casse, cochez la case Activer les recherches sensibles à la casse.

Pour désactiver les recherches de noms de fichiers et de noms de répertoire sensibles à la casse, décochez la case Activer les recherches sensibles à la casse.

Cliquez sur Appliquer.

Important Ces modifications ne prendront effet qu'après le redémarrage de Server for NFS. Pour plus d'informations sur la procédure d'arrêt et de démarrage de Server for NFS, voir Démarrage et arrêt de Server for NFS. Vous devez également désactiver l'insensibilité à la casse du noyau Windows pour que Server for NFS prenne en charge les noms de fichiers sensibles à la casse. Vous pouvez désactiver l'insensibilité à la casse du noyau Windows en définissant la clé de registre suivante sur 0: HKLM\SYSTEM\CurrentControlSet\Control\Gestionnaire de session\kernel DWORD "obcaseinsensitive"

Pour configurer la sensibilité à la casse des noms de fichier et de dossier à l'aide de la ligne de commande Ouvrez la commande Invite.

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

serveur nfsadmin [NomOrdinateur] config casesensitivelookups = yes

Pour désactiver la sensibilité à la casse et éventuellement spécifier la casse des noms de fichier renvoyés par Server for NFS, à l'invite de commande, tapez ce qui suit:

nfsadmin server [NomOrdinateur] config casesensitivelookups = no [ntfscase = {supérieur | plus bas | préserver}]

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

Important Ces modifications ne prendront effet qu'après le redémarrage de Server for NFS. Pour plus d'informations sur la procédure d'arrêt et de démarrage de Server for NFS, voir Démarrage et arrêt de Server for NFS.

Remarque L'option ntfscase définit la sensibilité à la casse du système de fichiers NTFS. La sensibilité à la casse par défaut est preserve (préserver la casse). Pour afficher la syntaxe complète de cette commande, à l'invite de commande, tapez: nfsadmin server /?

.

4
Moab

Microsoft états ;

Dans NTFS, les noms préservent la casse, mais ne sont pas sensibles à la casse.
NTFS ne fait aucune distinction entre les noms de fichiers en fonction des cas.

Autoriser le respect de la casse sous Windows permettrait aux programmes malveillants de créer des fichiers auxquels l’utilisateur ne peut accéder ni les supprimer, ce qui n’est pas autorisé pour une bonne raison.

Dans tous les cas, je suis tout à fait sûr que si vous parveniez à rendre NTFS sensible à la casse, Windows se bloquerait et la réinstallation constituerait la seule solution.

3
harrymc