Como se pode deletar diretórios recursivos no Windows?

5

Estou usando o Windows 7 Professional de 64 bits e, de alguma forma, consegui criar um sistema de diretórios recursivos. Por exemplo, tenho diretórios A, B e C, que são aninhados da seguinte forma: A / B / C. No entanto, quando eu abro o diretório C, vejo o diretório A. A estrutura de diretórios final é algo como A / B / C / A / B / C / ... Se eu tentar excluir isso com o Windows (ambos usando e ignorando a Lixeira ) Eu recebo um erro dizendo que "O nome do arquivo de origem é mais longo do que o sistema suporta." O uso de RMDIR / s também não funciona, pois reclama que as pastas não estão vazias (mesmo com o parâmetro / s especificado). Como posso excluir esses diretórios permanentemente?

    
por Nick 16.07.2013 / 15:59

4 respostas

9

Dê uma chance a isso. Boa sorte!

Use alguns Truques Robocopy, citação:

  1. Crie uma pasta fictícia na unidade (D: neste exemplo) onde o caminho alongado está:

    md AnyFolderName

  2. Copie a pasta fictícia para a pasta mutante usando a opção de linha de comando / MIR (espelho):

    robocopy D: \ AnyFolder D: \ BackupFolder / MIR

  3. Deixe o RoboCopy limpar a pasta corrompida. Isso pode demorar alguns minutos, dependendo do tamanho da pasta.

  4. Remova a pasta fixa e a pasta fictícia:

    rd / s D: \ BackupFolder rd / s D: \ AnyFolder

É isso. Você é bom para ir.

OR

Renomeando ...

I had one folder with multiple folders inside like that, and the way i used is to rename the folder (main folder first then the next ones) and i finally was able to delete the main folder without any tools...

OR

[Quote:] [4]

Descobri que fazer um mapeamento de disco na metade da estrutura de pastas deve ser capaz de excluir a segunda metade do arquivo de heirarcy.

Por exemplo, se você está recebendo o erro ao tentar excluir:

\NAS.Device.Company.com\a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z

Em seguida, mapeie uma unidade de rede Z: para

\NAS.Device.Company.com\a\b\c\d\e\f\g\h\i\j\k\

Isso reduzirá o arquivo herarch para um caminho menor. Abra o explorador e veja a unidade Z :. Deve conter uma pasta chamada L (neste exemplo).

Agora você deve poder excluir o L e suas subpastas sem um problema, excluindo, assim, metade da hierarquia de pastas. Depois disso, desconecte a unidade z: e tente deletar o que restar normalmente. Problema resolvido!

OR

Use o utilitário Unlocker .

[4]: link enter preformatted text here

    
por 16.07.2013 / 17:29
0

Experimente algo como rd /s \?\C:\A .

    
por 16.07.2013 / 17:32
0

Exclua o (s) ponto (s) de nova análise que cria o loop. Encontrá-lo com (pode ter que CTRL-C se continua indo para diretórios mais detalhados):

dir /A:L /S C:\A\

Em seguida, exclua-o com o RMDIR, que irá desvinculá-lo, mas não excluirá o conteúdo.

rmdir C:\A\B\C\A\

Repita até que não haja mais pontos de nova análise e exclua o diretório normalmente.

    
por 16.07.2013 / 18:27
-1

Em vez de copiá-lo para o diretório, basta usar o Robocopy para apagar imediatamente ...
Crie sua pasta vazia e use a sintaxe robocopy c: \ emptyfolder c: \ fold que não apagará / eliminará

    
por 15.03.2016 / 23:38

Tags