Como forçar o Windows a renomear um arquivo com um caractere especial?

80

Eu tenho uma música que o Windows não pode reproduzir porque há um ponto de interrogação no nome do arquivo.

"Where Have All the Cowboys Gone?.ogg" // as an example

Então eu tento renomeá-lo e o Windows reclama se eu tento no Explorer ou no prompt de comando.

Erro ao tentar copiar, renomear ou mover:

The Filename, directory name, or volume label syntax is incorrect

Existe uma maneira Windows para forçar uma renomeação neste caso?

Atualizar

Vou ficar de olho nessa pergunta, mas depois de 13 respostas e muitas tentativas (além de soluções de terceiros) parece que o Windows não pode fazer isso (ou pelo menos minhas janelas não podem, sem nomes curtos) . Então eu estou aceitando a resposta que era a minha solução original de qualquer maneira de usar o Linux. Seria bom ver o Windows lidar com isso de alguma forma, então não pare só porque eu aceitei essa resposta, a questão ainda permanece!

    
por codeLes 30.10.2015 / 00:30

36 respostas

42

Pegue um live-cd linux e use isso.

    
por 29.08.2009 / 00:11
29

Você já tentou usar a versão de nome de arquivo curto de seu nome? Por exemplo

ren whereh~1.ogg where.ogg

Se for o único arquivo na pasta atual que começa com as primeiras letras, use as seis primeiras letras do nome (ignorando os espaços) seguidos de um til (~) e depois um 1.

    
por 31.08.2009 / 23:23
23
  1. No Windows 7: execute o cmd.exe no Modo Administrador.
  2. cd no diretório com os nomes dos arquivos.
  3. run: chkdsk / V / f [Meus arquivos inválidos estavam em outra unidade diferente da unidade do sistema operacional, por isso foi capaz de desmontá-lo. Se for a unidade do sistema operacional, talvez seja necessário executar este estágio na inicialização.]
  4. Espere (pode ser necessário reiniciar).

Como você verá, o resultado foi que o chkdsk realmente apagou os arquivos para mim. Então, se você quiser manter os arquivos, eu não sei o que fazer, mas isso vai se livrar dos arquivos com certeza.

Resultados / Log do Cmd:

E:\islag\Music\llb>dir
 Volume in drive E is FreeAgent Drive
 Volume Serial Number is 5038-892A

 Directory of E:\islag\Music\llb

02/02/2011  12:18 PM    <DIR>          .
02/02/2011  12:18 PM    <DIR>          ..
04/04/2010  02:19 PM         4,014,099 01 Los Lonely Boys - Se?orita - www.file2
4ever.com.mp3
04/04/2010  02:18 PM         3,125,942 12 Los Lonely Boys - La Contestaci?n - ww
w.file24ever.com.mp3
               2 File(s)      7,140,041 bytes
               2 Dir(s)  87,743,991,808 bytes free

E:\islag\Music\llb>chkdsk /V
The type of the file system is NTFS.
Volume label is FreeAgent Drive.

WARNING!  F parameter not specified.
Running CHKDSK in read-only mode.

CHKDSK is verifying files (stage 1 of 3)...
  231424 file records processed.
File verification completed.
  34 large file records processed.
  0 bad file records processed.
  0 EA records processed.
  0 reparse records processed.
CHKDSK is verifying indexes (stage 2 of 3)...
18 percent complete. (29338 of 245164 index entries processed)
An invalid filename 01 Los Lonely Boys - Se?orita - www.file24ever.com.mp3 (3196
6) was found in directory 31962.
All filenames for File 31966 are invalid.
Minor file name errors were detected in file 31966.
An invalid filename 12 Los Lonely Boys - La Contestaci?n - www.file24ever.com.mp
3 (31973) was found in directory 31962.
All filenames for File 31973 are invalid.
Minor file name errors were detected in file 31973.
73 percent complete. (233817 of 245164 index entries processed)
Index entry 01 Los Lonely Boys - Se?orita - www.file24ever.com.mp3 in index $I30
 of file 31962 is incorrect.
Index entry 12 Los Lonely Boys - La Contestaci?n - www.file24ever.com.mp3 in ind
ex $I30 of file 31962 is incorrect.
  245164 index entries processed.
Index verification completed.

Errors found.  CHKDSK cannot continue in read-only mode.

E:\islag\Music\llb>dir
 Volume in drive E is FreeAgent Drive
 Volume Serial Number is 5038-892A

 Directory of E:\islag\Music\llb

02/02/2011  12:18 PM    <DIR>          .
02/02/2011  12:18 PM    <DIR>          ..
04/04/2010  02:19 PM         4,014,099 01 Los Lonely Boys - Se?orita - www.file2
4ever.com.mp3
04/04/2010  02:18 PM         3,125,942 12 Los Lonely Boys - La Contestaci?n - ww
w.file24ever.com.mp3
               2 File(s)      7,140,041 bytes
               2 Dir(s)  87,743,991,808 bytes free

E:\islag\Music\llb>chkdsk /V /f
The type of the file system is NTFS.
Cannot lock current drive.

Chkdsk cannot run because the volume is in use by another
process.  Chkdsk may run if this volume is dismounted first.
ALL OPENED HANDLES TO THIS VOLUME WOULD THEN BE INVALID.
Would you like to force a dismount on this volume? (Y/N) y
Volume dismounted.  All opened handles to this volume are now invalid.
Volume label is FreeAgent Drive.

CHKDSK is verifying files (stage 1 of 3)...
  231424 file records processed.
File verification completed.
  32 large file records processed.
  0 bad file records processed.
  0 EA records processed.
  0 reparse records processed.
CHKDSK is verifying indexes (stage 2 of 3)...
18 percent complete. (29339 of 245164 index entries processed)
Deleted invalid filename 01 Los Lonely Boys - Se?orita - www.file24ever.com.mp3
(31966) in directory 31962.
File 31966 has been orphaned since all its filenames were invalid
Windows will recover the file in the orphan recovery phase.
Correcting minor file name errors in file 31966.
Deleted invalid filename 12 Los Lonely Boys - La Contestaci?n - www.file24ever.c
om.mp3 (31973) in directory 31962.
File 31973 has been orphaned since all its filenames were invalid
Windows will recover the file in the orphan recovery phase.
Correcting minor file name errors in file 31973.
73 percent complete. (233642 of 245164 index entries processed)
Deleting index entry 01 Los Lonely Boys - Se?orita - www.file24ever.com.mp3 in i
ndex $I30 of file 31962.
Deleting index entry 12 Los Lonely Boys - La Contestaci?n - www.file24ever.com.m
p3 in index $I30 of file 31962.
  245164 index entries processed.
Index verification completed.
CHKDSK is scanning unindexed files for reconnect to their original directory.
  2 unindexed files scanned.
CHKDSK is recovering remaining unindexed files.
  2 unindexed files recovered.
CHKDSK is verifying security descriptors (stage 3 of 3)...
  231424 file SDs/SIDs processed.
Cleaning up 41 unused index entries from index $SII of file 9.
Cleaning up 41 unused index entries from index $SDH of file 9.
Cleaning up 41 unused security descriptors.
Security descriptor verification completed.
  6871 data files processed.
CHKDSK is verifying Usn Journal...
  1116928 USN bytes processed.
Usn Journal verification completed.
Correcting errors in the master file table's (MFT) BITMAP attribute.
Windows has made corrections to the file system.

 244196000 KB total disk space.
 158175168 KB in 30003 files.
     22820 KB in 6873 indexes.
         0 KB in bad sectors.
    306168 KB in use by the system.
     65536 KB occupied by the log file.
  85691844 KB available on disk.

      4096 bytes in each allocation unit.
  61049000 total allocation units on disk.
  21422961 allocation units available on disk.

E:\islag\Music\llb>dir
 Volume in drive E is FreeAgent Drive
 Volume Serial Number is 5038-892A

 Directory of E:\islag\Music\llb

02/02/2011  12:18 PM    <DIR>          .
02/02/2011  12:18 PM    <DIR>          ..
               0 File(s)              0 bytes
               2 Dir(s)  87,743,979,520 bytes free

E:\islag\Music\llb>
    
por 02.02.2011 / 20:57
10

chkdsk às vezes corrigirá nomes de arquivos inválidos. Você receberá uma mensagem sobre a remoção do arquivo porque todos os nomes de arquivo são inválidos e, em seguida, recuperará um arquivo perdido. Você pode então encontrar o arquivo em C:\found.000\file0000.chk . Esta é uma maneira eficaz de remover os arquivos problemáticos, mas não da melhor maneira, se você quiser mantê-los.

    
por 09.08.2011 / 02:24
10

Tente especificar o caminho UNC (consulte Naming Files, Caminhos e Namespaces ). Isso contorna todos os tipos de restrições. Você faria isso usando a sintaxe \?\ .

Exemplo, se seu arquivo estava em sua área de trabalho (e sua unidade do Windows é C :), você pode fazer

copy "\?\C:\Users\codeLes\Desktop\Where Have All the Cowboys Gone?.ogg" "\?\C:\Users\codeLes\Desktop\Where Have All the Cowboys Gone.ogg"

Nota: você não pode usar caminhos relativos com esta sintaxe; você deve especificar o caminho completo. E isso não funciona com o comando ren , mas funciona com copy e move .

    
por 28.02.2015 / 02:19
9

A maneira que eu apaguei o arquivo teimoso foi abrindo 7zip, encontrando o arquivo e renomeando o arquivo por 7zip. O meu era uma música que tinha um espaço no final do arquivo.

    
por 12.01.2014 / 10:59
7

Use Recuva . Destina-se principalmente a recuperar arquivos excluídos, mas também tem uma opção para incluir arquivos não excluídos em sua varredura.

Após iniciar o Recuva, recuse o assistente e selecione o disco correto. Em seguida, vá para Opções, localize e marque a opção "verificar arquivos não excluídos" e inicie a verificação. Depois de um tempo, ele mostrará todos os arquivos no disco (excluídos ou não). Encontre seus arquivos com nomes inválidos (os nomes já estão fixos na visualização), selecione-os, clique com o botão direito e salve ("recuperar") em algum lugar.

Acabei de fazer isso (no Windows XP).

    
por 20.05.2017 / 14:53
5

A ferramenta Microsoft DISKEDIT.EXE é uma ferramenta de baixo nível para ler e gravar diretamente os dados brutos do disco. Você deve ser capaz de carregar o cluster contendo a entrada de diretório para este arquivo e apenas alterar o '?' personagem para algo inócuo e gravá-lo de volta para o disco.

Entendo que a ferramenta de disquetes Microsoft (não a ferramenta Norton Utilities com o mesmo nome, que é somente para volumes FAT) foi vista pela última vez no Windows 2000 SP4. Mas há um link para ele que pode ser encontrado aqui .

Para localizar o cluster certo, você pode fazer o download de uma versão de avaliação do DiskExplorer para NTFS .

Você iniciaria com Arquivo- > Unidade ... para abrir a unidade que contém esse arquivo inválido. Selecione Goto- > Diretório raiz para obter uma visualização de diretório. Navegue até o diretório que contém seu arquivo inválido usando os links MFT #. Quando você chegar lá, o topo da janela vai dizer algo como: "MFT # x12345 DIR: 'dirname', ... blá blá blá ... a partir do cluster x9302AE , ... blah blá blá "

Agora, passe para o Microsoft diskedit. Primeiro, faça o arquivo- > Abra ... e especifique o Nome do volume C: (se o arquivo estiver na sua unidade C:). Deixe o nome do arquivo de volume em branco. Pegue o número de cluster inicial e insira-o no diskedit em Read- > NTFS Clusters ...- > Starting Cluster (insira-o como um número hexadecimal).

Agora use as teclas de seta para ir até o nome do arquivo incorreto. Está em unicode, então você estará procurando por algo como "W.h.e.r.e..H.a.v.e. .A.l.he.h.e..C.o.w.b.o.s.s.G.o.n.e.? ... o.g.g". Posicione o cursor sobre o caractere "3F" incorreto e digite algo seguro, como 5F ('_'). Escolha Write- > para gravar de volta no disco.

Há outro ponto a ser atingido (não tenho certeza se um ou ambos são necessários). Agora, de volta ao DiskExplorer, clique no Mft # para o arquivo incorreto. Você terá uma tela com uma coisa de árvore à esquerda que diz "estruturas". Clique em "Atributos" na árvore. Ele mostrará uma lista de atributos, um dos quais será algo como $ 30 ... $ FILE_NAME. Então, $ 30 tem o nome do arquivo. Clique no nó Corpo abaixo do nó $ 30 na árvore Estruturas. Selecione o menu View- > como Hex. Várias linhas abaixo, você deve ver o nome do arquivo novamente W.h.e.r.e. .H.a.v.e ... etc. No lado esquerdo da tela, você verá a coluna Sector, que mostra em qual setor do disco você está olhando.

Retroceda o diskedit. Leia os Setores e insira o número do setor no DiskExplorer. Como antes, role para baixo e substitua o caractere "3F" pelo mesmo caractere que você fez acima. Escolha Write- > para gravar no disco.

Eu fiz tudo isso, e as ferramentas me dizem que eu mudei o personagem, mas o explorador não. O diretório deve estar em algum lugar. Após a reinicialização, a alteração fica visível.

    
por 05.11.2009 / 15:01
5

Tente usar uma ferramenta de terceiros, como a ferramenta Ken Rename :

ou Renomear o mestre .

Aqui está uma lista de ferramentas de renomeação de arquivos .

Eu mesmo os testaria, mas estou executando o Windows Vista de 64 bits; o manuseio do arquivo pode ser diferente.

Se essas ferramentas falharem, convém dar uma chance ao Windows PowerShell . Veja Renomeando arquivos no Blog do PowerShell do Windows .

    
por 11.08.2011 / 23:07
4

Você tentou movê-lo para um arquivo com o nome correto?

move "Where Have All the Cowboys Gone?.mp3" "Where Have All the Cowboys Gone.mp3"
    
por 28.08.2009 / 21:49
4
  • Se for mais de um arquivo, crie um novo diretório com um nome simples, por exemplo, a .
  • Mova um único arquivo a cada vez para esse diretório.
  • Em cmd.exe , vá para o novo diretório e digite o seguinte:

    ren *.ogg 1.ogg   
    

    Isso é para simplificar. Então você pode renomeá-lo no XP como quiser, como 1.ogg to Where Have All the Cowboys Gone.ogg . ogg foi apenas um exemplo, extensão pode ser qualquer coisa.

por 14.02.2012 / 21:59
4

Se você tem o Cygwin instalado, ele deve ser capaz de cuidar do arquivo. Eu tive esse problema agora e usando rm do Cygwin em um bash shell foi capaz de excluir o arquivo muito bem quando nenhum aplicativo do Windows, incluindo o Explorer e incluindo tentando usar o filespec UNC com CMD.exe ajudou.

Eu imagino que o mv faria isso no caso de você querer manter o arquivo.

Uma configuração barebones do Cygwin leva apenas alguns minutos, e eu sempre a mantenho de qualquer maneira, porque há tantas boas ferramentas. É mais fácil do que inicializar o Linux, mesmo usando um live CD.

    
por 21.09.2012 / 17:26
3

Supondo que o volume em questão seja FAT32 ou NTFS, tente executar o chkdsk. Isso deve limpar entradas de diretório 'corrompidas', o que (neste caso) significaria remover o arquivo. Se for o volume de inicialização, você pode precisar de uma reinicialização para fazê-lo.

    
por 28.08.2009 / 22:02
3

Isso deve funcionar (pelo menos para mim):

dir /X *cowboys*

Esse comando produziria algo semelhante a isto:

08/11/2011  15:21    <DIR>          WH5E97~1     Where Have All the Cowboys Gone
?.ogg

Esse WH5E97~1 é o que você está procurando!
(Aviso de Plase: tal código é totalmente inventado, mas deve ser similar ao que você encontrará)

Sabendo disso, um simples

rename WH5E97~1 "Where Have All the Cowboys Gone.ogg"

deve fazer o truque.

Espero que ajude.

    
por 14.11.2011 / 01:34
2

você já tentou:

type "Where*.ogg" > "Where.ogg"

pode funcionar.

    
por 24.06.2011 / 08:12
1

Tente um curinga em movimento -

move "Where Have All the Cowboys Gone*.mp3" "Where.mp3"

Essa é provavelmente a sua melhor aposta, desde que haja apenas um arquivo que corresponda ao curinga.

    
por 28.08.2009 / 21:54
1

arraste e solte em uma nova pasta, navegue no prompt de comando para essa pasta e digite

ren *.* test.ogg
    
por 28.08.2009 / 22:00
1

Tente cygwin renomear o arquivo:

o comando seria: mv filename?.ogg filename.ogg

    
por 02.09.2009 / 18:50
1

A maioria dos comandos internos da Microsoft são controlados com a presença de explorer.exe .

Abra o Gerenciador de Tarefas e examine a lista de processos ativos atuais. Você encontrará explorer.exe entre eles. Clique com o botão direito e termine / pare / feche explorer.exe . Não feche o Gerenciador de Tarefas ainda. Agora, vá para o arquivo ofensivo usando um gerenciador de arquivos secundário e tente excluir ou renomear com curingas. Provavelmente será bem sucedido.

Agora, retorne à janela do Gerenciador de Tarefas e clique com o botão direito do mouse na linha superior dizendo Aplicativos e, em seguida, escolha o botão inferior que diz Nova Tarefa. Coloque o código%. O Explorer aparece novamente e o arquivo ofensivo não está mais lá.

    
por 06.10.2013 / 22:35
1

O GUI do WinRAR permitirá que você renomeie os arquivos sem ter que empacotá-los primeiro em um arquivo. Eu testei no Windows 8.1, em um nome de arquivo muito longo. Trabalhou como um encanto.

    
por 15.06.2014 / 11:25
1

Se você tiver o WinRAR, empacote-o no WinRAR, renomeie-o no WinRAR, descompacte-o.

Ou você pode tentar com um VBScript, pegar o próximo script e salvá-lo em um arquivo com a extensão .vbs .

Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")

fso.MoveFile "Where Have All the Cowboys Gone?.ogg", "Where.ogg"
    
por 27.02.2015 / 05:14
1

Eu também tive um problema semelhante com uma pasta. O nome da pasta era ".min". que normalmente não é permitido.

Renomear Não permitido (clique para a imagem)

Usando o Winrar , consegui resolver isso. O que eu fiz foi

  • clique com o botão direito na pasta
  • selecione "Adicionar ao arquivamento ..."
  • selecione um novo nome de arquivo (um sem caracteres especiais)
  • nas opções de arquivamento, selecione "Excluir arquivos após o arquivamento"
  • que selecione OK

Adicionar ao arquivo ... (clique para a imagem)

  • Eu abri o arquivo .rar
  • e renomeou o arquivo dentro de

Isso é permitido, pois o Windows não verifica realmente o que há dentro do arquivo .rar. Assim que você mudar o nome, extraia o arquivo e pronto.

Espero que isso ajude.

    
por 24.05.2016 / 14:18
0

Use cmd.exe nesse diretório com curingas. Por exemplo:

ren "Where Have All the *.ogg" "Where Have All the Cowboys Gone.ogg"
    
por 04.07.2011 / 10:35
0

O gerenciador de arquivos 7-Zip (7-zip.org) renomeia os arquivos e diretórios que o XP não pode. Apenas o usou para extrair um arquivo .tar e renomear o arquivo .chm com nome ilegal. Não requer LiveCD.

Tschüß!

    
por 09.09.2014 / 19:42
0

Eu tive um problema semelhante com duas pastas aninhadas com subpastas. Não consegui nem renomear nem deletar alguns dos arquivos (tentei de várias formas). Finalmente, encontrei a solução: Teracopy.

Instale-o, clique com o botão direito na pasta ou arquivo e selecione teracopy. O Teracopy será aberto e, em seguida, basta clicar em delete ou rename . Ele renomeia ou apaga.

Você pode querer tentar.

    
por 16.09.2014 / 11:09
0

Eu encontrei a mesma situação.

Pesquisando, aprendi que não há solução nativa.

... e uso como shell o TCC do JPSoft, que também não suportava esses arquivos.

Mas também aprendi que o Unlocker do Cedrick Collomb ( link ) é capaz de lidar com eles.

E eu tive isso na minha configuração. Além disso, eu recomendo strongmente.

Bem, pelo menos essa solução não envolve deixar o ambiente do Windows ...

    
por 18.01.2015 / 02:35
0

Eu consertei um arquivo FLAC como este usando o comando open do Winamp, usando aquela janela do programa explorer. Quando fui para a pasta, tive a opção de renomear, ao contrário do Explorer.

    
por 01.02.2015 / 03:23
0

Eu me deparei com uma situação semelhante. Nenhuma das soluções postadas funcionou para mim, mas finalmente encontrei uma solução fácil:

  • Nenhuma ferramenta externa necessária
  • Nenhum conhecimento de linguagem de programação ou shell é necessário

Eu simplesmente copiei o arquivo (sim, copiar ainda era possível para mim) para um pendrive, renomei lá e coloquei de volta! Deixo isso para os outros para explicar por que isso funcionou.

    
por 26.02.2015 / 21:30
0

Esta não é uma resposta direta (como em como o Windows pode renomear um arquivo), mas isso funciona para mim. Os arquivos ilegais geralmente estão em uma unidade externa, então conecto a unidade externa ao meu tablet Android . Isso me permite renomear o arquivo que pode ser lido pelo Windows. Isso lida com caracteres especiais, mas o problema comum é um nome de arquivo que começa ou termina com um espaço ou termina com um '.'

Eu tentei uma das ferramentas de terceiros, FlexRenamer, mas isso ainda tem problemas com o acima.

    
por 23.08.2015 / 01:47
0

Na maioria dos casos, essa resposta é inútil .
Eu fui enganado por nomes de arquivos com caracteres que são representados como pontos de interrogação quando, na verdade, são apenas caracteres que os padrões M $ -fonts não podem / não podem ser exibidos.

Devo excluir esta postagem? Ainda pode ajudar algumas pessoas ...

Tente usar o cmd.exe incorporado na conclusão da guia.

  1. dir /x não ajuda (o NTFS foi criado sem suporte para nomes de arquivo curtos):

    dir
     Verzeichnis von C:\Temporal\_black
    05.10.2015  21:23    <DIR>          none\none         ? ?????????, ?????????
    
    dir /X
     Verzeichnis von C:\Temporal\_black
    05.10.2015  21:23    <DIR>                       none\none         ? ?????????, ?????????
    
  2. Tentando renomeá-lo digitando / copy'n'pasting, o nome não funciona:

    C:\Temporal\_black> ren "? ?????????, ?????????" bart
    Syntaxfehler.
    
  3. Para que funcione, você precisa usar tab-completion . Apenas navegue até o diretório correto no cmd-shell, digite ren , pressione tabulator-key e continue pressionando até que o nome 'correto' apareça:

    C:\Temporal\_black>ren "? ?????????, ?????????"
    

    depois digite o resto e aperte enter:

    C:\Temporal\_black>ren "? ?????????, ?????????" bart
    

    Você será recompensado com isso:

    C:\Temporal\_black> dir
     Verzeichnis von C:\Temporal\_black
    05.10.2015  21:23    <DIR>          none\none         bart
    

É meio chato, mas até agora isso sempre funcionou para mim com arquivos e diretórios (Windows 7 e 8).

Nota lateral engraçada: Os ren -commands em 2. e 3. são idênticos, mas não funcionam sem usar a conclusão de tabulação. E, mesmo que você tenha usado a conclusão de tabulação, ela não funcionará mais tão logo você edite o nome depois do ren (por exemplo, remova e adicione um ponto de interrogação).

    
por 16.10.2015 / 17:15