Sei que o sistema operacional Windows não diferencia maiúsculas de minúsculas. Isso é verdade para todos os sistemas operacionais Windows (do Windows 95 ao Windows 7)? Existe alguma configuração de registro para diferenciar maiúsculas de minúsculas do Windows?
18
Respostas:
Sim, isso é verdade para todas as versões do Windows. Não há como diferenciar maiúsculas de minúsculas do Windows. Lembre-se de que alguns aplicativos que foram originalmente desenvolvidos para Unix / Linux e depois portados podem fazer distinção entre maiúsculas e minúsculas. Cygwin, por exemplo, faz distinção entre maiúsculas e minúsculas. Esse comportamento é extremamente raro.
fonte
/bIn/BaSh
não funciona no meu sistema.Na verdade, isso depende do subsistema API / Windows que você (seu programa) usa.
Se você usar a " API do Windows " (o padrão para aplicativos do Windows), os nomes de arquivos não diferenciam maiúsculas de minúsculas. No entanto, se você usar o subsistema POSIX (também conhecido como Windows Services for Unix), poderá ativar a distinção entre maiúsculas e minúsculas.
Consulte, por exemplo, este artigo de suporte da MS: Habilite o comportamento sensível a maiúsculas e minúsculas no Windows XP e Interix Subsystem ou SFU
fonte
Cygwin tenta emular o Unix. Portanto, ele precisa herdar a distinção entre maiúsculas e minúsculas para não quebrar os aplicativos. O Windows por si só não diferencia maiúsculas de minúsculas. É sobre o sistema de arquivos. Você pode ler mais sobre isso em Sistema de arquivos, Sistemas de arquivos no Microsoft Windows (Wikipedia).
fonte
unsupported
por assim dizer./bIn/BaSh
em Cygwin e diga-me novamente que diferencia maiúsculas de minúsculas.A Microsoft adicionou um novo sinalizador que diferencia maiúsculas de minúsculas (atributo) que pode ser aplicado aos diretórios NTFS (pastas). Para diretórios que possuem esse sinalizador definido (ativado), todas as operações nos arquivos nesse diretório diferenciam maiúsculas de minúsculas, independentemente de FILE_FLAG_POSIX_SEMANTICS ter sido especificado. Isso significa que, se você tiver dois arquivos que diferem apenas por maiúsculas e minúsculas em um diretório marcado como maiúsculas e minúsculas, todos os aplicativos poderão acessá-los.
A partir do Windows 10 build 17107 , a Microsoft adicionou a capacidade de exibir e modificar esse sinalizador no comando fsutil.exe.
Para verificar se um diretório diferencia maiúsculas de minúsculas, execute o seguinte comando:
Para marcar um diretório como sensível a maiúsculas ou minúsculas, respectivamente:
fonte
Isto é daqui . Você pode definir o
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\ dword:ObCaseInsensitive
valor do registro0
como outros autores sugeriram. Crie um arquivo nomeadoadd.reg
com o seguinte conteúdo e execute-o.Em seguida, use o Cygwin para trabalhar com nomes de arquivos que diferenciam maiúsculas de minúsculas.
Para fazer isso, você precisa montar sistemas de arquivos NTFS com a
posix=1
opção no seu/etc/fstab
, como este artigo sugere. Aqui está um trecho do meufstab
:Uma vez que o acima é feito, você vai ser capaz de lidar com casos sensíveis nomes de arquivos usando
bash
,mc
,git
etc.Certifique-se de reiniciar após editar os dois.
fonte
Barfieldmv está correto. O sistema de arquivos realmente faz distinção entre maiúsculas e minúsculas e os arquivos são armazenados com o caso apropriado. A camada de acesso a arquivos é responsável por remover o caso ao corresponder arquivos a novos descritores de arquivos
fonte