Como corrigir o problema ‘Filename Is Too Long’ no Windows

Se você já viu este problema, provavelmente foi uma simples correção para você. Se você já viu esse erro mais de duas vezes, então você também sabe que pode ser um problema complexo de consertar algumas vezes.

Esperemos que você só encontre a variedade de correções fáceis, mas nós o prepararemos para as menos fáceis, garantidas de funcionar também.

Por que o tamanho do nome do arquivo é um problema no Windows?

Há um longo histórico de tamanho de arquivos sendo um problema para sistemas operacionais como Windows. Houve um tempo em que você não podia ter nomes de arquivos com mais de 8 caracteres mais uma extensão de arquivo de 3 caracteres. O melhor que você podia fazer era algo como myresume.doc. Esta era uma restrição no lugar pelo design do sistema de arquivos.

As coisas melhoraram com o surgimento de novas versões do Windows. Nós passamos de um sistema de arquivos antigo, limitado, para algo chamado New Technology File System (NTFS). NTFS nos levou a um ponto onde um nome de arquivo poderia ter 255 caracteres de comprimento, e o comprimento do caminho do arquivo poderia potencialmente ir até 32.767 caracteres. Então como podemos ter nomes de arquivos muito longos?

Windows tem coisas conhecidas como variáveis do sistema. Estas são variáveis que o Windows depende para funcionar, porque o Windows sempre saberá o que as variáveis significam e onde elas estão, mesmo quando estamos movendo bits e bytes por todo o lado. A variável de sistema MAX_PATH é a que restringe os nomes de arquivos e caminhos de arquivos a menos de 260 caracteres.

Sendo uma variável, você pensaria que poderíamos mudá-la. Não, não devemos. Seria como arrancar um fio de uma camisola. Assim que uma variável do sistema muda, outras variáveis do sistema e componentes dependentes delas começam a desfazer-se.

Como a corrigimos, então?

The Easy Fix

Se tiver sorte, vai receber o erro e saber exactamente qual o nome do ficheiro que está a causar o problema. Ou pelo menos onde encontrar o ficheiro. Talvez você tenha um nome de arquivo que se pareça com:

C:\User\guymc\Documents\My Resumesresumewithanamesolongthatitcausesproblemsandbecomespartofsomeguysarticleonthewebhowdoyoulikemenow.docx

É óbvio quem é o infrator neste caso. Encontre o arquivo no Windows Explorer, ou File Explorer como é chamado no Windows 10, clique uma vez sobre ele, pressione F2 para renomeá-lo, e mude esse nome de arquivo tolo para algo mais razoável. Problema resolvido.

The Less Easy Fixes

Nem sempre é assim tão fácil resolver este problema. Às vezes você pode não ser capaz de mudar os nomes de arquivos ou diretórios por qualquer razão.

As seguintes soluções lhe farão o truque. Elas não são difíceis de fazer.

Mover, Apagar, Ou Copiar Ficheiros ou Directórios Usando PowerShell

Por vezes obtém um erro quando tenta mover, apagar, ou copiar directorias onde a contagem de caracteres para o caminho do ficheiro é superior a 260.

Nota que as palavras diretório e pasta são intercambiáveis. Vamos usar ‘directório’ indo em frente. Os seguintes cmdlets do PowerShell também podem ser usados em arquivos.

Talvez o caminho do arquivo se pareça com:

C:\Users\guymc\Documents\This\Is\Exactly\The\Precise\Directory\Path\That\I\Need\To\Have\To\Keep\My\Files\Sorted\In\A\Manner\That\Makes\Sense\To\Me\So\Lets\Pretend\This\Is\An\Actual\Filepath\That\You\Might\Also\Have\On\Your\Windows\Computer\And\Not\Over\Think\It\Document.docx

Que o caminho do arquivo tem 280 caracteres. Portanto, não podemos copiar o diretório de lá para outro lugar com o método normal de copiar colar. Recebemos o erro Destination Path Too Long.

Vamos assumir que por qualquer razão, não podemos renomear as directorias em que o ficheiro está aninhado. O que fazemos?

Open PowerShell. Se você ainda não usou o PowerShell, aproveite nosso artigo Usando o PowerShell para Usuários Domésticos – Um Guia para Iniciantes. No entanto, pode fazer os próximos passos sem ler o artigo.

Quando a PowerShell abrir, você estará na raiz do seu diretório de usuário. Continue assumindo que C:\Users\guymc é o seu directório de utilizador.

O directório chamado This is inside the Documents directory. Para ir para o diretório Documents, nós usamos o comando DOS cd Documents.

Você verá a mudança imediata para C:\Users\guymc\Documents. Isso é bom. Estamos trabalhando mais perto dos diretórios que irão facilitar as coisas.

Copy Directory Using Copy-Item

Queremos copiar o diretório This e seu conteúdo para ThatNewFolder. Vamos usar o PowerShell cmdlet Copy-Item com os parâmetros -Destination e -Recurse.

-Destino diz ao PowerShell onde queremos que a cópia esteja. -Recurse diz ao PowerShell para copiar todos os itens dentro para o destino. A cópia deixa os originais onde eles estão e faz todos os novos no destino.

Copy-Item This -Destination ThatNewFolder -Recurse

Move Directory Using Move-Item

Vamos dizer que queremos mover o diretório This, e todos os diretórios e arquivos nele contidos, para ThatNewFolder. Mover não deixa o original no lugar.

Podemos usar o PowerShell cmdlet Move-Item com os parâmetros -Path e -Destination. -Caminho define o item que queremos mover e -Destino diz ao PowerShell onde queremos que ele se mova.

O cmdlet vai colocar isto dentro da ThatNewFolder. Ele também irá mover tudo o que está dentro deste diretório. Move-Item pode ser usado para mover ficheiros ou directórios, e funciona independentemente do caminho do ficheiro ou do comprimento do nome do ficheiro.

Move-Item -Path This -Destination ThatNewFolder

Para ter a certeza que funcionou, use o comando cd ThatNewFolder para entrar no ThatNewFolder. Depois use o comando dir para listar os diretórios em ThatNewFolder. Você verá o diretório ThisNewFolder que está lá.

Delete Directory Using Remove-Item

Se quisermos deletar o diretório ThisNewFolder, e tudo o que estiver nele, usaremos o cmdlet Remove-Item.

A Remove-Item cmdlet tem alguma segurança incorporada que dificulta a eliminação de um directório com coisas dentro dele. No nosso exemplo, sabemos que queremos apagar tudo, por isso vamos usar os parâmetros -Recurse para fazê-lo apagar tudo dentro e -Force para fazê-lo fazer isso sem nos perguntar se temos certeza para cada item dentro.

Fique avisado! Recuperar qualquer coisa apagada desta forma seria extremamente difícil. Você pode tentar os métodos em How to Recover Accidentally Deleted Files, mas não espere muito.

Remove-Item This -Recurse -Force

Você pode usar o comando dir novamente para ter certeza de que ele tenha desaparecido.

Faça o Windows 10 Aceitar Caminhos de Arquivos Longos

Se você sabe que vai usar caminhos de arquivos longos e nomes de arquivos longos repetidamente, é mais fácil fazer o Windows funcionar para você. Não faz sentido usar o PowerShell para fazer o trabalho todos os dias.

Existem duas maneiras de fazermos isto. Uma é para usuários domésticos do Windows 10 e a outra é para usuários do Windows 10 Pro ou Enterprise. Estes métodos podem funcionar para o Windows 8.1 ou anteriores, mas não podemos garantir que.

Faça o Windows 10 Home Aceitar Caminhos de Ficheiros Longos

Para que o Windows 10 Home aceite caminhos de ficheiros longos, precisamos de abrir o Editor de Registo. Se você não trabalhou no Editor de Registro antes, seja cauteloso. Eliminar ou alterar acidentalmente as coisas aqui dentro pode impedir o Windows de funcionar completamente.

Faça sempre uma cópia de segurança do seu registo antes de fazer quaisquer alterações. Saiba tudo o que você precisa saber sobre isso no nosso Ultimate Guide to Backing Up and Restoring the Windows Registry.

Após você ter o Editor de Registro aberto, e seu backup feito, navegue até o local HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ControlSystem\FileSystem e encontre a chave LongPathsEnabled.

Duplo clique em LongPathsEnabled. No campo Dados de valor: certifique-se de que o número 1 está lá. Clique em OK para submeter a alteração.

Exit Registry Editor e você deverá ser capaz de trabalhar com caminhos de arquivos loucos e longos agora.

Make Windows 10 Pro ou Enterprise Accept Long File Paths

Para permitir que o Windows 10 Pro ou Enterprise use caminhos de arquivos longos, vamos usar o Group Policy Editor. É uma ferramenta que nos permite definir políticas sobre como o Windows funciona no nível do computador e do usuário.

Temos vários artigos sobre o uso de políticas de grupo para fazer coisas como desativar ou ativar as opções do Internet Explorer ou adicionar uma mensagem à tela de logon.

Abra o Editor de políticas de grupo, indo ao menu Iniciar e digitando gpedit. O principal resultado deve ser Editar política de grupo. Clique duas vezes sobre isso.

Após o Group Policy Editor abrir, navegue até Configuração do computador > Modelos administrativos > Sistema > Sistema de arquivos. Lá você verá a política Enable Win32 long paths.

Clique duas vezes sobre ela para editar a configuração da política. Altere-a de Desabilitado para Ativado, depois clique no botão OK para submeter a alteração.

A política pode não ter efeito de imediato. Você pode forçar a política de grupo a atualizar, embora.

É Isso

Existem algumas outras formas de trabalhar em torno de nomes de arquivos longos e caminhos de arquivos, mas o que passamos aqui são os métodos mais simples e eficazes.

Deixe uma resposta

O seu endereço de email não será publicado.