Como excluir arquivos (inválidos) com dois pontos em seu nome no Windows?


14

Eu tenho um número bastante grande de arquivos na minha unidade do Windows com dois pontos no nome. (Eles vieram da descompactação de alguns arquivos Unix.)

Quando tento excluí-los, o Windows (XP) reclama que o arquivo não existe e se recusa a excluí-lo. Isso acontece ao tentar excluí-lo ou renomeá-lo do explorer ou da linha de comando. Ainda assim, chkdsknão se queixa desses arquivos nem resolve o problema.

Alguma idéia de como se livrar deles?


Isso permitirá que você os renomeie ou os mova para um local diferente? Se você pode movê-los, tente colocá-los todos em um diretório e excluí-lo.
Nhinkle 19/07

Tecnicamente, eles são válidos, é o Windows Explorer inválido ^ W necessidades especiais de gerenciador de arquivos.
Alexei Averchenko

Respostas:


7

Você pode usar esta sintaxe (de acordo com o Microsoft KB 320081 ):

del "\\?\c:\path_to_file\bad:name.ext"

Consulte também esta questão de falha do servidor sobre o mesmo tópico, "excluir arquivo contendo caracteres inválidos no Windows".

Eu acho que os antigos utilitários sysinternals "ntfsdos" poderiam remover / renomear esses arquivos também, mas eles não estão mais disponíveis após a aquisição do MS.


@ Hello71 (para @Ruggle Humsteader) - os novos usuários não podem comentar, só podem responder (no momento, precisam de 50 pontos de representante para isso: superuser.com/faq ). Eles podem comentar suas próprias perguntas e respostas, no entanto. (Só para outros novos usuários não são confundidos por seu pedido.)
michael

Como você criaria esse arquivo no Windows?
Cutrightjm 26/07/2013

@ekaj - o arquivo pode ser criado usando outro sistema operacional. Crie uma captura de tela no Ubuntu, pois possui dois pontos no nome do arquivo. Em seguida, abra-o no Windows - isso não funcionará.
SPRBRN

@rxt estou ciente. O que quero dizer é que, se você pode excluí-lo, provavelmente pode fazê-lo de alguma maneira.
cutrightjm

3
não funciona para mim no Windows 7
Populus

8

Você pode tentar inicializar a partir de um CD do Ubuntu Live e excluí-lo de lá.


Ontem salvei uma captura de tela no Ubuntu e tentei abrir em uma VM do Windows. Ele se recusou a abrir, tipo de arquivo ruim ou algo assim. Então percebi que poderia ser dois pontos no nome do arquivo, que não consegui remover no Windows. Altero o nome no Nautilus e, em seguida, pude abrir o arquivo.
SPRBRN

5

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

"Meu Computador" -> "Clique com o botão direito do mouse nesta unidade"> propriedades

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

[Clique aqui para ver a imagem] ()

Isso desmontará sua unidade e verificará se há erros na unidade completa; eventualmente, esses arquivos serão excluídos com nomes ilegais. Ao finalizar, será exibida uma mensagem informando que alguns arquivos foram corrigidos.

Excluí com êxito esses arquivos do meu disco rígido externo.


Eu gostaria que ele mostrasse uma lista do que seria corrigido, mas isso funcionou para mim no Windows 8.1.
usar o seguinte código

primeira coisa que me ajudou, depois de 20 tentativas. Isso usa o chkdsk, que corrige muitas coisas.
Oshell 19/12/2015

1

Você pode fazer isso facilmente na linha de comando (CMD) sem nenhum programa sofisticado.

  1. Renomeie o arquivo / pasta usando a antiga notação curta (por exemplo, Nome do arquivo, FILENA ~ 1) e. Para obter a notação, navegue até o diretório que contém a pasta / arquivo com um nome inválido e digite:

    dir / x

  2. Renomeie para um nome válido usando:

    ren FILENA ~ 1 nome do arquivo

  3. Agora apague o arquivo / pasta válido no CMD ou no Windows Explorer:

    del fileName


0

Para corrigir isso no Windows 7:

chkdsk C:/r

0

Se tudo mais falhar, pode ser necessário editar o nome diretamente no NTFS.

Eu fiz isso com sucesso com o Active @ Disk Editor . Prossiga com cuidado.

  • abra o programa
  • escolha Explorar meu computador
  • encontre seu arquivo
  • escolha Inspecionar registro de arquivo na barra de botões ou no menu de contexto
  • ative Permitir edição de conteúdo no menu suspenso Editar ou no menu de contexto
  • encontre o nome na coluna Unicode e clique nele, sobrescreva símbolos ruins por um bom, como um caractere ou um traço. Lembre-se do que e como renomeou, será necessário na próxima etapa.
  • retorne à guia Meu computador
  • selecione o diretório pai do arquivo na visualização em árvore
  • escolha Inspecionar registro de arquivo na barra de botões ou no menu de contexto
  • na visualização em árvore à esquerda, localize o atributo $ A0 (em negrito), abra-o, localize $ INDEX_ALLOCATION, Execução de dados, Primeiro cluster, clique no valor, ele deve ser interativo.
  • encontre o nome e edite-o da mesma maneira que na etapa anterior. Pode ser necessário rolar um pouco para baixo para encontrá-lo, se houver muitos arquivos no diretório.
  • se tiver certeza de que não substituiu acidentalmente outros dados, clique em Salvar. Caso contrário, feche a guia sem salvar as alterações e faça tudo novamente com cuidado.
  • reiniciar.

Se o arquivo ou diretório ainda estiver inacessível, tente chkdskagora.


-2

Outra alternativa que você pode tentar é trazer o CygWin , um shell bash para janelas. Isso permitiria aplicar comandos UNIX às suas pastas do DOS.


1
Se você lida regularmente com arquivos unix em uma máquina Windows, é sempre uma boa ideia ter o cygwin instalado. Caso contrário, pode ser melhor você inicializar e excluir o arquivo de um live CD do Linux quando a situação surgir.
Marnix A. van Ammers

5
Infelizmente, eu tentei o cygwin, e isso não ajuda. 8- {Mesmo o cygwin não é capaz de remover os arquivos.
Hans-Peter Störr

6
As ferramentas cygwin ainda dependem da API do Windows para excluir arquivos. Se a API do Windows recusar o nome do arquivo, nada poderá ser feito no Windows com as ferramentas de arquivo padrão. Também recomendo acessar o sistema de arquivos de um sistema operacional alternativo.
dólmen

Eu apenas tentei acessar um arquivo com dois pontos em uma unidade ext3 com Cygwin e até isso não funciona.
laurent
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.