Como deletar um arquivo com um caminho muito longo para ser deletado [duplicado]

193

Eu estava trabalhando com algum código-fonte de visão computacional que encontrei e não percebi que ele cria um arquivo de cache que tem um nome MUITO LONGO e agora não consigo excluir os dois deles.

Eu tentei renomeá-lo para um nome mais curto, mas não posso fazer nada com o arquivo, também tentei reiniciar meu computador e ver se ele desapareceria.

A mensagem de erro diz:

Destination Path Too Long.

The file name(s) would be too long for the destination folder. You can shorten file name and try again, or try a location that has a shorter path.

Como posso excluir os arquivos neste caso?

    
por Chris 16.05.2014 / 22:09

4 respostas

343

Supondo que você esteja no Windows:

O que eu sempre faço é usar subst para criar uma associação de letra de unidade com parte do caminho.

Em seguida, vá para a nova letra da unidade e navegue até os arquivos que possuem nomes longos. Agora você deve ser capaz de renomear / excluir / etc deles. A razão pela qual isso funciona é porque o próprio caminho não está mais contendo > 255 caracteres.

Para criar uma pasta subst

  1. Iniciar um prompt de comando (sem privilégios de administrador necessários)
  2. Use cd para navegar até a pasta que você quer ir (você pode usar a aba para preencher automaticamente os nomes
  3. digite subst j: . para criar a associação de driveletter. (em vez do. você também pode digitar o caminho inteiro)
  4. Agora no Explorer, você tem uma nova letra de unidade em Este PC . Vá até ele e faça o que for necessário para os arquivos .cache.
  5. Volte para a janela do cmd e digite subst /d j: para remover a unidade ou, como alternativa, reinicie seu computador.

EDIT: Um truque que aprendi que pode encurtar isso um pouco. Na janela Explorer, onde você tem problemas, clique na barra de endereços para poder digitá-la, digite cmd e pressione Enter para iniciar um prompt de comando naquele local e prossiga na etapa 3. :)

EDIT2: Ok, esse truque pode ser expandido ainda mais. Se você estiver no Explorer no caminho certo, basta digitar subst j: . na barra de endereço e pressionar Enter. Uma janela de comando irá aparecer, executar o comando e fechar novamente, e lá vai você, uma nova unidade aparece no explorador.

    
por 16.05.2014 / 22:20
65

Sua pergunta pergunta como excluir um arquivo quando o próprio nome do arquivo é muito longo. Se o caminho for muito longo e não apenas o nome do próprio arquivo, você pode simplesmente renomear as pastas para tornar o caminho mais curto.

Mas, para excluir um arquivo cujo nome tenha mais de 255 caracteres:

  • Abra um prompt de comando executando "CMD.EXE"
  • Navegue até a pasta que contém o arquivo
  • Use o comando DIR / X, que exibirá os nomes abreviados dos arquivos.
  • Excluir usando o nome abreviado.

i.e. Se o arquivo é chamado "verylongfilename.fil", o nome curto será exibido como algo como "verylo ~ 1.fil" e você pode excluir usando esse nome.

Por favor, note que, embora o próprio Windows possa manipular caminhos muito maiores que 255 caracteres, a maior parte da GUI - como o Windows Explorer - é limitada pelo limite mais curto.

    
por 17.05.2014 / 08:31
4

Pesquisou: excluir nome de arquivo longo Primeiro resultado

Use Unlocker http://www.filehippo.com/download_unlocker/

Cannot delete folder: It is being used by another person or program Cannot delete file: Access is denied There has been a sharing violation. The source or destination file may be in use. The file is in use by another program or user. Make sure the disk is not full or write-protected and that the file is not currently in use.

Unlocker can help! Simply right-click the folder or file and select Unlocker. If the folder or file is locked, a window listing of lockers will appear. Simply click Unlock All and you are done!

    
por 16.05.2014 / 22:18
3

A Microsoft tem um artigo da base de conhecimento útil sobre a exclusão de arquivos undeletable . A causa # 4 é relevante para você.

Sua melhor aposta provavelmente seria mapear uma unidade para a pasta em que o arquivo está (resolução # 3), depois entrar por essa unidade e excluí-la.

    
por 16.05.2014 / 22:18