Como isso funciona
Este é um recurso do sistema de arquivos NTFS que você pode habilitar por diretório. Ele não se aplica a todo o seu sistema de arquivos, portanto, você pode apenas ativar a diferenciação de maiúsculas e minúsculas para pastas específicas usadas para fins de desenvolvimento.
A diferenciação de maiúsculas e minúsculas foi adicionada na Atualização de abril de 2018 do Windows 10. Antes disso, era possível montar pastas do Windows como diferenciação de maiúsculas e minúsculas no ambiente Bash no Windows, também conhecido como o Windows Subsystem para Linux. Isso funcionou bem dentro do ambiente Linux, mas confundiu os aplicativos normais do Windows. Agora, esse é um recurso no nível do sistema de arquivos, o que significa que todos os aplicativos do Windows também verão um sistema de arquivos com distinção entre maiúsculas e minúsculas.
Esta funcionalidade está ativada através do
fsutil.exe
comando, que você deve executar a partir da linha de comando. Você pode fazer isso a partir de uma janela do Prompt de Comando ou do PowerShell. Com as configurações padrão, as pastas criadas no ambiente Linux são automaticamente configuradas para diferenciar maiúsculas de minúsculas.
Como definir um diretório como diferencia maiúsculas de minúsculas
Para começar, clique com o botão direito do mouse no botão Iniciar e selecione o comando “PowerShell (Administrador)”. Se preferir usar o Prompt de Comando, você pode procurar por “Prompt de Comando” no menu Iniciar, clicar com o botão direito e selecionar o comando “Executar como Administrador”. O comando funciona da mesma maneira, independentemente do ambiente de linha de comando escolhido.
Você pode não precisar de acesso de administrador para executar este comando, dependendo das suas permissões. Tecnicamente, você precisa da permissão "gravar atributos" para o diretório que deseja modificar. Na maioria dos casos, isso significa que você precisará de permissões de Administrador se quiser editar uma pasta em algum lugar fora da pasta do usuário - como c: project - e não se quiser modificar uma pasta em algum lugar da pasta do usuário. como em c: users NOMEprojeto.
Para tornar uma pasta sensível a maiúsculas e minúsculas, digite o seguinte comando, substituindo “C: folder” pelo caminho da pasta:
fsutil.exe file setCaseSensitiveInfo C:folder enable
Se o caminho da pasta tiver um espaço, coloque o caminho inteiro entre aspas, assim:
fsutil.exe file setCaseSensitiveInfo 'C:my folder' enable
Isso não afeta as subpastas
O sinalizador de diferenciação de maiúsculas e minúsculas afeta somente a pasta específica à qual você o aplica. Não é automaticamente herdado pelas subpastas dessa pasta.
Em outras palavras, se você tiver uma pasta chamada C: e ela tiver as subpastas C: folder test e C: folder stuff dentro dela, simplesmente tornar a pasta C: pasta sensível a maiúsculas também não Subpastas "test" e "stuff" dentro dela diferenciam maiúsculas de minúsculas. Você precisa executar o apropriado
fsutil
comando separadamente para tornar as três pastas sensíveis a maiúsculas e minúsculas.
Ferramentas Linux criam pastas sensíveis ao caso por padrão
As ferramentas do Linux que você executa dentro do Windows Subsystem para Linux (Bash shell) agora criam pastas com o conjunto de sinalizadores que diferencia maiúsculas e minúsculas. Então, se você usa o
mkdir
Para criar um diretório dentro de um shell Bash ou uma ferramenta de desenvolvimento faz isso para você, o diretório criado é automaticamente definido como diferencia maiúsculas de minúsculas - mesmo se você criá-lo no sistema de arquivos do Windows montado.
Tecnicamente, isso ocorre porque o sistema de arquivos DrvFs para o ambiente Linux usa o
case=dir
sinalizar por padrão. o
case=dir
opção define o ambiente Linux para respeitar o sinalizador NTFS de cada diretório e para definir automaticamente o sinalizador de diferenciação de caso em diretórios criados no ambiente Linux. Você pode alterar esta opção em seu arquivo wsl.conf, se quiser.
Desde que você crie pastas no ambiente Linux, elas são criadas com as configurações de diferenciação de maiúsculas e minúsculas e você nunca precisa tocar no comando fsutil.exe.
Como verificar se um diretório é sensível a maiúsculas e minúsculas
Para verificar se um diretório faz distinção entre maiúsculas e minúsculas, execute o seguinte comando, substituindo “C: folder” pelo caminho da pasta.
fsutil.exe file queryCaseSensitiveInfo C:folder
Se a diferenciação de maiúsculas e minúsculas estiver ativada em um diretório, você verá que o “atributo sensível a maiúsculas no diretório [caminho] está habilitado”. Se o diretório estiver usando a insensibilidade a maiúsculas padrão do Windows, você verá que o atributo o diretório [caminho] está desativado.”
Como tornar um diretório insensível a maiúsculas e minúsculas
Para desfazer sua alteração e tornar um diretório insensível ao caso novamente (como Bill Gates pretendia), execute o seguinte comando, substituindo “C: folder” pelo caminho da pasta.
fsutil.exe file setCaseSensitiveInfo C:folder disable