Apagar arquivo contendo caracteres inválidos no windows

13

Eu tenho alguns arquivos que contêm caracteres de dois-pontos no nome do arquivo (por exemplo, 1d67c0d23e859ed4a259749e4a720d9e: default-sink). Quando tento removê-los da linha de comando com o comando:

c:\backup> del /F *.*

Eu recebo "O sistema não pode encontrar o arquivo especificado." para cada arquivo. Se eu especificar um arquivo individual:

c:\backup> del /F "1d67c0d23e859ed4a259749e4a720d9e:default-sink"

Eu recebo "O nome do arquivo, o nome do diretório ou a sintaxe do rótulo do volume está incorreta." Se eu tentar usar o rd na pasta pai, obtenho

Como posso remover esses arquivos?

    
por grom 18.12.2009 / 03:22

12 respostas

18

Há um artigo da Base de conhecimento da Microsoft que lista possíveis formas de excluir esses arquivos em:

link

A maneira que eu normalmente uso é o método nativo da API:

del "\?\c:\pathd67c0d23e859ed4a259749e4a720d9e:default-sink"

De acordo com:

link

O : é um caractere reservado no NTFS, o método de API nativa mencionado acima é a maneira recomendada de excluir esses arquivos.

    
por 23.12.2009 / 01:43
13

Eu acho que você pode tentar o nome 8.3?

del /F 1d67c0~1

Observe que nas unidades NTFS você pode desabilitar explicitamente a funcionalidade 8.3, portanto, se esse for o caso, você terá muita sorte nessa opção. Para obter o nome do arquivo dir a dir /x

Costumava haver uma ferramenta freeware chamada delinvfile , mas eles foram e mudaram para shareware / paid

    
por 22.12.2009 / 04:40
10

Isso funcionou para mim:

  1. Ran chkdsk /f
  2. PC re-criado
  3. Depois, consegui selecionar e excluir o arquivo
por 23.11.2013 / 19:06
3

Eu tenho Subsistema para aplicativos baseados em UNIX instalado no meu PC (Windows 7). No shell do Windows, posso criar um arquivo com touch 1d67c0d23e859ed4a259749e4a720d9e:default-sink e, em seguida, removê-lo com rm *:*

    
por 22.12.2009 / 06:37
2

Feche todos os arquivos, se houver algum, que estejam salvos na unidade que contém esses arquivos. Agora, abra as propriedades da unidade.

"Meu computador" - > "Clique direito sobre esta unidade" > propriedades

Em seguida, vá para a guia " Ferramentas " e clique em " Verificar agora " sob o rótulo "Verificação de erros".

Clique aqui para ver uma imagem maior

Isso desmontará a sua unidade e verificará a unidade completa em busca de erros; eventualmente, ela excluirá esses arquivos com nomes ilegais. Ao terminar, mostrará uma mensagem dizendo que alguns arquivos foram corrigidos.

Eu excluí esses arquivos com sucesso do meu disco rígido externo.

    
por 23.11.2014 / 16:12
1

Eu tenho um sistema de inicialização dupla e nenhuma das respostas acima funcionou para mim. Se o arquivo estiver localizado em um disco montado pelo seu outro SO (Ubuntu 16.04 LTS para mim), você poderá excluí-lo usando seu outro sistema operacional;)

    
por 08.10.2016 / 12:34
0

Já tentou citar os nomes dos arquivos? Dar o comando exato que você está executando seria útil.

    
por 18.12.2009 / 03:48
0

Você já tentou usar um curinga? Por exemplo, 'del 1d67c0d23e859ed4a259749e4a720d9e *. *' Pode funcionar.

    
por 18.12.2009 / 03:54
0

Tente renomear a pasta pai para um único caractere (a, 1, etc.) e tente excluir a pasta pai. Se não funcionar, mova para a primeira pasta filha e renomeie-a para um único caractere e tente excluir novamente. Costumo usar esse método para arquivos com caracteres inválidos (não me pergunte como eles são criados porque não sei) ou para arquivos em que o caminho excede o máximo (novamente, não pergunte como isso ocorre).

    
por 22.12.2009 / 05:44
0

Você tentou dir / X para descobrir o nome 8.3 real e, em seguida, tentou excluir esse nome?

Ou, esse arquivo pode ter um fluxo de dados alternativo? Você pode querer ver a ferramenta no link para ver o que isso pode lhe dizer (eu nunca usei essa ferramenta, ela só aparecia quando eu procurava).

    
por 22.12.2009 / 19:33
0

7zip pode excluir arquivos que o Windows não consegue; Eu usei isso no passado quando lidei com nomes de arquivos muito longos, mas eu nunca tentei em arquivos com dois-pontos. Eles normalmente seriam usados para denotar ADS.

    
por 22.12.2009 / 22:44
0

Eu tinha uma pasta com uma palavra-passe no nome. Eu tentei algumas das sugestões acima e não pude fazê-las funcionar.

Consegui excluir as pastas com o cygwin. Instalar esse aplicativo não é para todos, mas fará o trabalho.

    
por 26.10.2017 / 02:14

Tags