So che il sistema operativo Windows non è (in genere) sensibile al maiuscolo / minuscolo. È vero per tutti i sistemi operativi Windows (da Windows 95 a Windows 7)? Esiste un'impostazione del Registro di sistema per rendere case sensitive Windows?
So che il sistema operativo Windows non è (in genere) sensibile al maiuscolo / minuscolo. È vero per tutti i sistemi operativi Windows (da Windows 95 a Windows 7)? Esiste un'impostazione del Registro di sistema per rendere case sensitive Windows?
Risposte:
Sì, questo è vero per tutte le versioni di Windows. Non è possibile aumentare la distinzione tra maiuscole e minuscole di Windows. Tieni presente, tuttavia, che alcune app che sono state originariamente sviluppate per Unix / Linux e successivamente portate potrebbero essere sensibili al maiuscolo / minuscolo. Cygwin, ad esempio, fa distinzione tra maiuscole e minuscole. Questo comportamento è estremamente raro però.
/bIn/BaShnon funziona sul mio sistema.
In realtà, questo dipende dal sottosistema API / Windows che tu (il tuo programma) usi.
Se si utilizza " API Windows " (lo standard per le app di Windows), i nomi dei file non fanno distinzione tra maiuscole e minuscole. Tuttavia, se si utilizza il sottosistema POSIX (noto anche come Servizi Windows per Unix), è possibile abilitare la distinzione tra maiuscole e minuscole.
Vedi ad esempio questo articolo di supporto MS: abilita il comportamento con distinzione tra maiuscole e minuscole con Windows XP e sottosistema Interix o SFU
Cygwin cerca di emulare Unix. Pertanto, è necessario ereditare la distinzione tra maiuscole e minuscole per non interrompere le applicazioni. Windows su se stesso non fa distinzione tra maiuscole e minuscole. Riguarda il file system. Puoi leggere di più al riguardo in File system, File system in Microsoft Windows (Wikipedia).
unsupported.. per così dire.
/bIn/BaShsu Cygwin e dimmi di nuovo che è case sensitive.
Microsoft ha aggiunto un nuovo flag (attributo) maiuscolo / minuscolo che può essere applicato alle directory (cartelle) NTFS. Per le directory che hanno questo flag impostato (abilitato), tutte le operazioni sui file in quella directory fanno distinzione tra maiuscole e minuscole, indipendentemente dal fatto che sia stato specificato FILE_FLAG_POSIX_SEMANTICS. Ciò significa che se si hanno due file che differiscono solo per caso in una directory contrassegnata come case sensitive, tutte le applicazioni saranno in grado di accedervi.
A partire dalla build 17107 di Windows 10 , Microsoft ha aggiunto la possibilità di visualizzare e modificare questo flag al comando fsutil.exe.
Per verificare se una directory fa distinzione tra maiuscole e minuscole, eseguire il comando seguente:
fsutil.exe file queryCaseSensitiveInfo <path>
Per contrassegnare una directory come maiuscole o minuscole, rispettivamente:
fsutil.exe file setCaseSensitiveInfo <path> enable
fsutil.exe file setCaseSensitiveInfo <path> disable
Questo è da qui . È possibile impostare il HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\ dword:ObCaseInsensitivevalore del registro 0come suggerito da altri autori. Creare un file denominato add.regcon il seguente contenuto ed eseguirlo.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\kernel]
"obcaseinsensitive"=dword:00000000
Quindi utilizzare Cygwin per lavorare con nomi di file con distinzione tra maiuscole e minuscole.
Per fare ciò, è necessario montare i filesystem NTFS con l' posix=1opzione nel tuo /etc/fstab, come suggerisce questo articolo . Ecco un frammento dal mio 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
Una volta che quanto sopra è fatto, sarete in grado di affrontare con nomi di file case-sensitive utilizzando bash, mc,git etc.
Assicurati di riavviare dopo aver modificato entrambi.
Barfieldmv è corretto. Il filesystem fa infatti distinzione tra maiuscole e minuscole e i file vengono archiviati nel loro caso appropriato. Il livello di accesso ai file è responsabile della rimozione del caso quando si abbinano i file a nuovi descrittori di file