Renomeando um nome de arquivo inválido no NTFS


9

Recentemente, emprestei meu disco flash a um dos meus amigos, que tinha o Mac OS. Ele copiou um arquivo, cujo nome incluía uma barra invertida (\).

O disco flash está formatado em NTFS. O Windows não permite esses nomes de arquivos e nem abre o arquivo, nem o exclui, nem me permite excluir o arquivo.

Existem abordagens ingênuas para esse problema, como:

  • Formatar o disco flash;
  • Devolvendo ao meu amigo e pedindo para renomeá-lo;
  • Carregando em algum Linux ao vivo e renomeá-lo.

No entanto, estou procurando algo mais inteligente, como um programa que possa executar o truque no Windows.

PS: Existe uma ferramenta chamada NTFSWalker que pode procurar os registros MFT do NTFS, mas não pode fazer alterações neles.


2
Você encontrará Como forçar o Windows XP a renomear um arquivo com um caractere especial? uma leitura útil também - a única resposta real para o Linux.
DMA57361

Tente verificar disco. (Clique com o botão direito do mouse no ícone do disco → Propriedades → Ferramentas → em Verificação de erros, clique em Verificar agora → marque Corrigir automaticamente erros do sistema de arquivos.) Essa foi uma das sugestões da pergunta vinculada acima, mas nunca foi tentada.
Bavi_H

@ Bavi_H: Desculpe, o Check Disk também não funcionou.
MS Dousti 25/11

Respostas:


5

Todas as APIs do Win32 usam a barra invertida como um separador de diretório. Há uma pequena chance de que o subsistema POSIX o aceite como parte do nome do arquivo, para que você possa tentar mvno Services for Unix .


Eu não diria que o uso do Linux para corrigir é "ingênuo", se o Unix foi o que o quebrou em primeiro lugar.


Eu tentei mvantes. Não deu certo.
MS Dousti

Sobre "ingênuo": eu quis dizer uma solução que vem à mente em primeiro lugar.
MS Dousti

@Sadeq: Do que mvvocê está falando?
user1686

2
@Sadeq: Ambos são programas simples do Win32. Mencionei explicitamente o Services for Unix por um motivo - seus programas são executados em um subsistema "POSIX" separado , com regras diferentes das do Win32.
user1686

1
O subsistema POSIX também usa NtOpenFilepara abrir arquivos e NtOpenFiletrata o caminho como um todo, não como uma série de componentes (há um sinalizador para usar a semântica "POSIX", mas isso é apenas para distinção entre maiúsculas e minúsculas) - portanto, segue as mesmas regras.
usar o seguinte comando

3

Descobri que o 7zip geralmente pode lidar com arquivos estranhos quando o Windows falha (útil para caminhos que são muito longos para serem excluídos normalmente) - experimente.


Desculpa. 7zdá o mesmo erro que o Windows.
MS Dousti

Também não funciona para mim #
31812 Mark Jeronimus

2
7z funcionou um pouco de mágica para o meu caso, que era um nome de arquivo que terminava com um caractere espacial não compatível. Eu tentei uma tonelada de utilitários para lidar com isso, mas apenas o 7z funcionou.
Mike Simpson

2

Você pode usar CHKDSK /Fo prompt do DOS para corrigir os erros e RD /S <DIR>onde <DIR>está o diretório que deseja excluir. Tenha cuidado, pois isso excluirá o diretório e todos os seus subdiretórios.


-1

Abri a pasta com arquivos de caracteres inacessíveis no gerenciador de arquivos 7zip. Lá, eu renomeei e BINGO, foi renomeado. Assim, eu consegui acessar o arquivo.

7zip é um utilitário de compactação de arquivos freeware, melhor que o RAR.


5
Sua resposta não é a mesma que a de Dentrasi?
MS Dousti
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.