Como corrigir o problema do 'Nome do arquivo é muito longo' no Windows


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

Vamos torcer para que você tenha apenas a variedade de correções fáceis, mas vamos prepará-lo para as menos fáceis, com garantia de trabalhar também.

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

Há um longo histórico de comprimentos de nome de arquivo, sendo um problema para sistemas operacionais como o Windows. Houve um tempo em que não era possível ter nomes de arquivos com mais de 8 caracteres e uma extensão de arquivo de 3 caracteres. O melhor que você poderia fazer era algo como myresume.doc. Essa foi uma restrição estabelecida pelo design do sistema de arquivos.

As coisas melhoraram com o lançamento de novas versões do Windows. Passamos de um sistema de arquivos antigo e limitado para algo chamado NTFS (New Technology File System). O NTFS levou-nos a um ponto em que um nome de arquivo pode ter 255 caracteres e o comprimento do caminho do arquivo pode potencialmente chegar a 32.767 caracteres. Então, como podemos ter nomes de arquivos muito longos?

O Windows possui coisas conhecidas como variáveis ​​de sistema. Essas são variáveis ​​nas quais o Windows confia para funcionar, porque o Windows sempre saberá o que as variáveis ​​significam e onde elas estão, mesmo quando movemos bits e bytes por todo o lugar. A variável de sistema MAX_PATHé a que restringe os nomes de arquivos e os caminhos de arquivos para menos de 260 caracteres.

Sendo uma variável, você acha que podemos alterá-la. Não, não deveríamos. Seria como puxar um fio de um suéter. Assim que uma variável do sistema muda, outras variáveis ​​e componentes do sistema dependentes começam a se desfazer.

In_content_1 all: [300x250] / dfp: [640x360]->
googletag.cmd.push (function () {googletag.display ('snhb-In_content_1-0');});

Como corrigimos isso, então?

A correção fácil

Se você tiver sorte, receberá o erro e saiba exatamente o nome do arquivo que está causando o problema. Ou pelo menos onde encontrar o arquivo. Talvez você tenha um nome de arquivo semelhante a:

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

É óbvio quem é o agressor nesse caso. Localize o arquivo no Windows Explorerou File Explorercomo é chamado no Windows 10, clique uma vez nele, pressione F2para renomeá-lo e mude esse nome de arquivo bobo para algo mais razoável. Problema resolvido.

As correções menos fáceis

Nem sempre é fácil corrigir esse problema. Às vezes, você pode não conseguir alterar os nomes de arquivos ou diretórios por qualquer motivo.

As seguintes soluções farão o truque para você. Eles não são difíceis de fazer.

Mover, excluir ou copiar arquivos ou diretórios usando o PowerShell

Às vezes, você recebe um erro ao tentar mover, excluir ou copiar diretórios nos quais a contagem de caracteres para o caminho do arquivo é superior a 260.

Observe que o diretório e a pasta de palavras são intercambiáveis. Usaremos o 'diretório' daqui para frente. Os seguintes cmdlets do PowerShell também podem ser usados ​​em arquivos.

Talvez o caminho do arquivo seja semelhante a:

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

Esse 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 e colar. Obtemos o erro Caminho de destino muito longo.

Vamos supor que, por qualquer motivo, não possamos renomear os diretórios nos quais o arquivo está aninhado. O que fazemos?

Abra o PowerShell. Se você ainda não usou o PowerShell, aproveite nosso artigo Usando o PowerShell para usuários domésticos - Guia para iniciantes. Você pode executar as próximas etapas sem ler o artigo.

Quando o PowerShell for aberto, você estará na raiz do seu diretório de usuários. Siga assumindo que C: \ Users \ guymcé seu diretório de usuários.

O diretório chamado Thisestá dentro dos Documents . Para ir para o diretório Documents, usamos o comando DOS cd Documents.

Você ' Você verá o prompt mudar para C: \ Users \ guymc \ Documents. Isso é bom. Estamos trabalhando mais perto dos diretórios que facilitarão as coisas.

Copiar diretório usando o item de cópia

Queremos copiar o diretório Thise seus conteúdo em ThatNewFolder. Vamos usar o cmdlet do PowerShell Copiar itemcom os parâmetros -Destinoe -Recurse.

- O destino informa ao PowerShell onde queremos que a cópia esteja. -Recurse diz ao PowerShell para copiar todos os itens internos para o destino. A cópia deixa os originais onde estão e produz todos os novos no destino.

Copiar item deste item - destino ThatNewFolder -Recurse

Mover diretório usando o item de movimentação

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

Podemos usar o cmdlet do PowerShell Move-Itemcom os parâmetros -Pathe -Destination. -Path define o item que queremos mover e -Destination diz ao PowerShell para onde queremos.

O cmdlet colocará Isso dentro do ThatNewFolder. Ele também moverá tudo o que estiver dentro do diretório This. Move-Item pode ser usado para mover arquivos ou diretórios e funciona independentemente do caminho ou do tamanho do arquivo.

Move-Item -Path This -Destination ThatNewFolder

Para garantir que funcione, use o cd ThatNewFolderpara entrar no ThatNewFolder. Em seguida, use o comando dirpara listar os diretórios no ThatNewFolder. Você verá o diretório Este está lá.

Excluir diretório usando o item Remove

Se quisermos excluir o diretório Estee tudo nele, usamos o Remover -Itemcmdlet.

O cmdlet Remove-Item possui alguma segurança interna que dificulta a exclusão de um diretório com itens dentro dele. Em nosso exemplo, sabemos que queremos excluir tudo; portanto, usaremos os parâmetros -Recursepara fazer com que ele exclua tudo dentro e -Forcepara fazer isso sem nos perguntando se temos certeza de que todos os itens estão dentro.

Esteja avisado! Recuperar qualquer coisa excluída dessa maneira seria extremamente difícil. Você pode tentar os métodos em  Como recuperar arquivos excluídos acidentalmente, mas não espere muito.

Remove- Item This -Recurse -Force

Você pode usar o comando dir novamente para garantir que ele se foi.

Faça o Windows 10 aceitar caminhos longos de arquivos

Se você sabe que usará longos caminhos de arquivos e nomes longos de arquivos 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 fazer isso. Um é para usuários do Windows 10 Home e o outro é para usuários do Windows 10 Pro ou Enterprise. Esses métodos podem funcionar no Windows 8.1 ou anterior, mas não podemos garantir isso.

Faça o Windows 10 Home aceitar caminhos longos de arquivos

Para fazer o Windows 10 Home aceitar caminhos longos de arquivos, precisamos para abrir o Editor de Registro. Se você não trabalhou no Editor do Registro antes, tenha cuidado. A exclusão ou alteração acidental de itens aqui pode impedir o Windows de funcionar completamente.

Sempre faça um backup do seu registro antes de fazer alterações. Aprenda tudo o que você precisa saber sobre isso em nossos  Guia definitivo para fazer backup e restaurar o registro do Windows.

Depois de abrir o Editor do Registro e fazer o backup, navegue até o local HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ FileSysteme encontre a chave LongPathsEnabled.

Clique duas vezes em LongPathsEnabled. No campo Dados do valor:, verifique se o número 1está lá. Clique em OKpara confirmar a alteração.

Saia do Editor do Registro e você poderá trabalhar com caminhos de arquivos longos malucos agora.

Faça o Windows 10 Pro ou Enterprise aceitar caminhos de arquivos longos

Para permitir o Windows 10 Pro ou Enterprise para usar caminhos de arquivo longos, usaremos o Editor de Diretiva de Grupo. É uma ferramenta que nos permite definir políticas sobre como o Windows opera nos níveis de computador e usuário.

Temos vários artigos sobre o uso da política de grupo para fazer coisas como  desabilitando ou habilitando as opções do Internet Explorer ou  adicionando uma mensagem à tela de logon.

Abra o Editor de Diretiva de Grupo, vá ao menu Iniciare digite gpedit. O resultado principal deve ser Editar política de grupo. Clique duas vezes nele.

Depois que o Editor de Diretiva de Grupo for aberto, navegue para Configuração do Computador>Modelos Administrativos>Sistema>Sistema de Arquivos. Lá você verá a política Habilitar caminhos longos do Win32.

Clique duas vezes nele para editar a configuração da política. Altere-o de Desativadopara Ativadoe clique no botão OKpara confirmar a alteração.

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

É isso

Existem outras maneiras de solucionar nomes de arquivos longos e caminhos de arquivos, mas o que passamos por aqui são os métodos mais simples e eficazes.

Como fazer o Windows 10 aceitar caminhos "nomes" de arquivos com mais de 260 caracteres

Postagens relacionadas:


17.07.2019