Como habilitar nomes de arquivos e pastas sensíveis a maiúsculas e minúsculas no Windows 10
O Windows 10 agora oferece um sistema de arquivos com distinção entre maiúsculas e minúsculas, assim como o Linux e outros sistemas operacionais semelhantes ao UNIX. Todos os processos do Windows manipularão arquivos e pastas com distinção adequada caso você habilite esse recurso. Em outras palavras, eles vão ver "arquivo" e "Arquivo" como dois arquivos separados.
Como isso funciona
Este é um recurso do sistema de arquivos NTFS que você pode habilitar por diretório. Ele não se aplica ao seu sistema de arquivos inteiro, portanto, você pode apenas ativar a diferenciação de maiúsculas e minúsculas para pastas específicas que você usa 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 com distinção entre maiúsculas e minúsculas no ambiente Bash no Windows, também conhecido como o Windows Subsystem for Linux. Isso funcionou bem no 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 nessa pasta..
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 e 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 forma, não importa qual ambiente de linha de comando você escolher.
Você pode não precisar de acesso de administrador para executar este comando, dependendo de 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 \NOME\projeto.
Antes de continuar, certifique-se de que nenhum software Linux em execução esteja fazendo referência ao diretório que você está prestes a modificar. Você não deve alterar o sinalizador de diferenciação de maiúsculas e minúsculas em uma pasta enquanto o software Linux estiver acessando-o. Se algum processo Linux em execução tiver atualmente o diretório ou qualquer coisa dentro do diretório aberta, mesmo como seu diretório de trabalho atual, os aplicativos Linux não reconhecerão a alteração e poderão ocorrer problemas.
Para tornar uma pasta sensível a maiúsculas e minúsculas, digite o seguinte comando, substituindo “C: \ folder” pelo caminho da pasta:
arquivo fsutil.exe setCaseSensitiveInfo C: \ folder enable
Se o caminho da pasta tiver um espaço, coloque o caminho inteiro entre aspas, assim:
arquivo fsutil.exe setCaseSensitiveInfo "C: \ my folder" enable
Isso não afeta 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: \ folder e tiver subpastas C: \ folder \ test e C: \ folder \ stuff dentro dela, simplesmente tornar a pasta C: \ pasta diferenciada também não Subpastas “test” e “stuff” dentro dela diferenciam maiúsculas de minúsculas. Você precisaria executar o fsutil
comando separadamente para tornar as três pastas diferenciadas.
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
comando 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 em seu 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 maiúsculas e minúsculas nos diretórios criados a partir do ambiente Linux. Você pode alterar esta opção em seu arquivo wsl.conf, se você quiser.
Desde que você crie pastas no ambiente Linux, elas serão criadas com as configurações de diferenciação de maiúsculas e minúsculas e você nunca precisará 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..
arquivo fsutil.exe queryCaseSensitiveInfo C: \ folder
Se a diferenciação de maiúsculas e minúsculas estiver ativada para um diretório, você verá que o “atributo sensível a maiúsculas no diretório [caminho] está ativado”. Se o diretório estiver usando a insensibilidade a maiúsculas padrão do Windows, você verá que o atributo 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 a maiúsculas e minúsculas novamente (como Bill Gates pretendia), execute o seguinte comando, substituindo “C: \ folder” pelo caminho da pasta..
arquivo fsutil.exe setCaseSensitiveInfo C: \ folder disable
Se você tentar desativar a diferenciação de maiúsculas e minúsculas em uma pasta que contenha arquivos com nomes colidindo, você verá uma mensagem "Erro: o diretório não está vazio". Você precisará remover ou renomear os arquivos conflitantes antes de continuar.