Eu tenho uma música que o Windows não pode tocar porque existe um ponto de interrogação no nome do arquivo.
"Where Have All the Cowboys Gone?.ogg" // as an example
Por isso, tento renomeá-lo e o Windows reclama se o experimento no Explorer ou no prompt de comando.
O erro que recebo ao tentar copiar, renomear ou mover é:
A sintaxe Nome do arquivo, nome do diretório ou rótulo do volume está incorreta
Existe uma maneira do Windows forçar uma renomeação neste caso?
Atualizar
Vou ficar de olho nessa pergunta, mas após 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 abreviados). Então, estou aceitando a resposta que era minha solução original, de qualquer maneira, usando o Linux. Seria bom ver o Windows lidar com isso de alguma forma, então não pare só porque aceitei esta resposta, a pergunta ainda permanece!
Respostas:
Pegue um live-cd do linux e use-o.
fonte
Você já tentou usar a versão abreviada dos nomes dos arquivos? Por exemplo
Se for o único arquivo na pasta atual que começa com as primeiras letras, use as 6 primeiras letras do nome (ignorando espaços) seguidas de um til (~) e depois um 1.
fonte
Como você verá, o resultado foi que o chkdsk realmente excluiu os arquivos para mim. Portanto, se você deseja manter os arquivos, não sei o que fazer, mas isso livrará os arquivos com certeza.
Resultados / Registro de Cmd:
fonte
chkdsk
às vezes, corrige 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 a recuperação de um arquivo perdido. Você pode encontrar o arquivo emC:\found.000\file0000.chk
. Essa é uma maneira eficaz de remover os arquivos com problemas, mas não a melhor, se você quiser mantê-los.fonte
\found.000
.A maneira como eu excluí o arquivo teimoso foi abrindo o 7zip, localizando o arquivo e renomeando o arquivo pelo 7zip. A minha era uma música que tinha um espaço no final do arquivo.
fonte
Tente especificar o caminho UNC (consulte Nomeando arquivos, caminhos e espaços para nome ). Isso contorna todos os tipos de restrições. Você faria isso usando a
\\?\
sintaxe.Por exemplo, se seu arquivo estava na área de trabalho (e sua unidade do Windows é C :), você pode fazer
Nota: Você não pode usar caminhos relativos com esta sintaxe; você deve especificar o caminho completo. E não funciona com o
ren
comando, mas funciona comcopy
emove
.fonte
\\?\
ignora o processamento do caminho do arquivo na biblioteca de tempo de execução do modo de usuário. Ele não permite abertura nomes de arquivos a conter os 5 caracteres curinga, outros caracteres reservados (/ |: \), ou caracteres de controle (* "<>?).\n
. Não me pergunte como eu o criei (bem, estou tentando ver se você pode criar vários arquivos com o mesmo nome no Windows). Explorer, o FreeCommander não pôde excluí-lo, mas\\?\C:\...
pode.Use Recuva . Destina-se principalmente à recuperação de arquivos excluídos, mas também possui uma opção para incluir arquivos não excluídos em sua verificação.
Após iniciar o Recuva, recuse o assistente e selecione o disco correto. Em seguida, vá para Opções, encontre 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 corrigidos na exibição), selecione-os, clique com o botão direito do mouse e salve ("recuperar") em algum lugar.
Acabei de fazer (no Windows XP).
fonte
/n
que o 7-zip não conseguiu manipular.A ferramenta Microsoft DISKEDIT.EXE é uma ferramenta de baixo nível para ler e gravar diretamente dados de disco bruto. Você deve poder carregar o cluster que contém a entrada de diretório para este arquivo e apenas alterar o '?' Incorreto caractere para algo inócuo e escreva-o novamente em disco.
Entendo que a ferramenta diskedit da Microsoft (não a ferramenta Norton Utilities com o mesmo nome, que é apenas 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 baixar uma versão de avaliação do DiskExplorer for NTFS .
Você começaria com Arquivo-> Unidade ... para abrir a unidade que contém esse arquivo incorreto. Selecione Ir para-> Diretório Raiz para obter uma exibição do diretório. Navegue para o diretório que contém seu arquivo incorreto usando os links # MFT. Quando você chegar lá, a parte superior da janela dirá algo como "MFT # x12345 DIR: 'dirname', ... blá blá blá ... começando no cluster x9302AE , ... blá blá blá"
Agora vá para o diskedit da Microsoft. Primeiro, faça Arquivo-> Abrir ... 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 esse número de cluster inicial e digite-o no diskedit em Read-> NTFS Clusters ...-> Starting Cluster (insira-o como um número hexadecimal).
Agora use as teclas de seta para rolar para baixo até o nome do arquivo inválido. Está em unicode, então você estará procurando algo como "Onde .tenha .Todos os .Cowboys. Foi? ... ogg" Posicione o cursor sobre o caractere "3F" ruim e digite algo seguro, como 5F (' _ '). Escolha Write-> It para escrever 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 número Mft do arquivo incorreto. Você verá 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. Portanto, $ 30 tem o nome do arquivo. Clique no nó Corpo sob o nó $ 30 na árvore Estruturas. Selecione o menu Visualizar-> como Hex. Várias linhas abaixo, você deve ver o nome do arquivo novamente Onde .Tenha ... etc. No lado esquerdo da tela, você verá a coluna Setor, que mostra em qual setor de disco você está olhando.
De volta ao diskedit. Leia-> 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-> It para gravá-lo no disco.
Fiz tudo isso, e as ferramentas me dizem que mudei de personagem, mas o Explorer não. O diretório deve ser armazenado em cache em algum lugar. Após uma reinicialização, a alteração se torna visível.
fonte
Tente usar uma ferramenta de terceiros, como a ferramenta Ken Rename :
ou Renomear 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; a manipulação de arquivos pode ser diferente.
Se essas ferramentas falharem, convém dar uma chance ao Windows PowerShell . Consulte Renomeando arquivos no blog do Windows PowerShell .
fonte
Você já tentou movê-lo para um arquivo com o nome certo?
fonte
copy
comando.?
ou*
ou<
ou>
ou:
no nome, ecopy
só funcionou? (Eu apenas tentei e não para mim, sem surpresa.)copy
comando Você também tentoucygwin
o comando bashmv
?"
,|
,/
e, claro, a barra invertida (o que eu não consigo entrar aqui :))) estão em uma classe diferente de caracteres problemáticos ( reservados ) e, receio, nem ocopy
comando nem oCygwin
pode renomear. (Você provavelmente teve alguns caracteres diferentes no seu nome de arquivo problemático.)a
.Em
cmd.exe
movimento para o novo diretório e digite o seguinte:Isto é para simplificar. Depois, você pode renomeá-lo no XP como você quer, como
1.ogg
aWhere Have All the Cowboys Gone.ogg
.ogg
foi apenas um exemplo, a extensão pode ser qualquer coisa.fonte
Se você tiver o Cygwin instalado, ele poderá cuidar do arquivo. Eu tive esse problema agora e usar o rm do Cygwin em um shell bash foi capaz de excluir o arquivo muito bem quando nenhum aplicativo do Windows, incluindo o Explorer, e a tentativa de usar o specpec de arquivo UNC com o CMD.exe ajudaram.
Eu imaginaria que o mv faria isso no caso de você querer manter o arquivo.
Uma configuração básica do Cygwin leva apenas alguns minutos, e eu sempre a mantenho assim, porque existem muitas boas ferramentas. É mais fácil do que inicializar o Linux, mesmo usando um CD ao vivo.
fonte
\\?\
também funcionaria nesse caso - quando usado corretamente com um caminho totalmente qualificado para Unicode. Ele está ignorando o código da biblioteca de tempo de execução do modo de usuário que emula alguma regra antiga do MS-DOS dos anos 80 que ignora os espaços no final dos nomes. O problema com caracteres inválidos e reservados não pode ser resolvido assim.Supondo que o volume em questão seja FAT32 ou NTFS, tente executar o chkdsk. Isso deve limpar as entradas do diretório 'corrompidas', o que (nesse caso) significaria remover o?. Se for o volume de inicialização, pode ser necessário reiniciar.
fonte
:
e, fazendo isso, o diretório desapareceu. NÃO faça isso.chkdsk
mudou-se o conteúdo da pasta no diretório raiz do disco rígido para uma pasta oculta e eu era capaz de conseguir meus arquivos de volta lá ver: superuser.com/a/320654/2293Isso deve funcionar (pelo menos, funcionou para mim):
Esse comando produziria algo semelhante a este:
É isso
WH5E97~1
que você está procurando!(Aviso: este código é totalmente inventado, mas deve ser semelhante ao que você encontrará)
Sabendo disso, um simples
deve fazer o truque.
Espero que ajude.
fonte
dir t97*
retorna ambos os arquivos, porque o curinga asterisco corresponde o arquivot.txt2
parat97.txt
usando seu mapa nome curtoT97B4~1.TXT
você tentou:
pode funcionar.
fonte
Experimente um curinga em movimento -
Essa é provavelmente a sua melhor aposta, desde que haja apenas um arquivo que corresponda ao curinga.
fonte
arraste e solte para uma nova pasta, navegue no prompt de comando para essa pasta e digite
fonte
Tente cygwin para renomear o arquivo:
o comando seria:
mv filename?.ogg filename.ogg
fonte
A maioria dos comandos internos da Microsoft é controlada 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 finalize / pare / fecheexplorer.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 caracteres curinga. 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 escolha o botão inferior dizendo Nova Tarefa. Enter
explorer.exe
. O Explorer aparece novamente e o arquivo ofensivo não está mais lá.fonte
A GUI do WinRAR permitirá que você renomeie os arquivos sem precisar empacotá-los primeiro em um arquivo morto. Eu testei no Windows 8.1, com um nome de arquivo muito longo. Funcionou como um encanto.
fonte
Se você possui o WinRAR, instale-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 extensão .vbs .
fonte
Eu também tive um problema semelhante com uma pasta. O nome da pasta era ".min". o que normalmente não é permitido.
Renomear não permitido (clique para imagem)
Usando o Winrar eu fui capaz de resolver isso. O que eu fiz foi
Adicionar ao arquivo ... (clique para a imagem)
Isso é permitido, pois o Windows realmente não verifica o que está dentro do arquivo .rar. Assim que você mudar o nome, extraia o arquivo e pronto.
Eu espero que isso ajude.
fonte
10:2
.Use cmd.exe neste diretório com caracteres curinga. Por exemplo:
fonte
O gerenciador de arquivos 7-Zip (7-zip.org) renomeará arquivos e diretórios que o XP não pode. Apenas usei para extrair um arquivo .tar e renomear o arquivo .chm anexado ilegalmente. Não é necessário o LiveCD.
Tschüß!
fonte
Eu tive um problema semelhante com 2 pastas aninhadas com subpastas. Não consegui nem renomear nem excluir alguns dos arquivos (tentei de várias maneiras). Por fim, encontrei a solução: Teracopy.
Instale-o, clique com o botão direito do mouse na pasta ou no arquivo e selecione teracopy. O Teracopy será aberto e clique em
delete
ourename
. Ele será renomeado ou excluído.Você pode querer experimentá-lo.
fonte
Eu esbarrei na mesma situação.
Pesquisando ao redor, aprendi que não há solução nativa.
... e eu uso como shell o TCC da JPSoft, que também não pode lidar com esses arquivos danados.
Mas também aprendi que o Unlocker de Cedrick Collomb ( http://www.emptyloop.com/unlocker/ ) é capaz de lidar com sou.
E eu tinha na minha configuração. Além disso, eu recomendo.
Bem, pelo menos esta solução não envolve deixar o ambiente Windows ...
fonte
Corrigi um arquivo FLAC como este usando o comando aberto básico do Winamp, usando a janela do explorador de programas. Quando fui para a pasta, tive a opção de renomear, ao contrário do Explorer.
fonte
Me deparei com uma situação semelhante. Nenhuma das soluções postadas funcionou para mim, mas finalmente encontrei uma solução fácil:
Simplesmente copiei o arquivo (sim, ainda era possível copiar para mim) para um pendrive, renomeei o arquivo para lá e o recoloquei! Deixo para outras pessoas explicar por que isso funcionou.
fonte
Esta não é uma resposta direta (como em como o Windows pode renomear um arquivo), mas funciona para mim. Os arquivos ilegais geralmente estão em uma unidade externa, então eu 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 usual que recebo é 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 luta com o acima.
fonte
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 as M $ -fonts padrão não / não podem exibir.
Devo excluir esta postagem? Ainda pode ajudar algumas pessoas ...
Tente usar o cmd.exe incorporado na conclusão da guia.
dir /x
não ajuda (o NTFS foi criado sem suporte para nomes curtos de arquivos):Tentar renomeá-lo digitando / copy'n'pasting o nome não funciona:
Para fazê-lo funcionar, você deve usar o preenchimento de guias . Apenas navegue até o diretório certo no cmd-shell, digite
ren
, pressione a tecla Tabulador e continue pressionando-a até que o nome 'correto' apareça:digite o resto e pressione enter:
Você será recompensado com isso:
É meio entediante, mas até agora isso sempre funcionou para mim com arquivos e diretórios (Windows 7 e 8).
Nota lateral engraçada: Os
ren
comandos em 2. e 3. são idênticos, mas não funcionarão sem o uso de preenchimento de tabulação. E mesmo que você tenha usado o preenchimento de guias, ele não funcionará mais assim que você editar o nome após oren
(por exemplo, remover e adicionar um ponto de interrogação).fonte