Como usar o prompt de comando para excluir o arquivo com caracteres especiais?

1

Eu encontrei esta resposta no Server Fault, mas tem quase 10 anos e não funciona de qualquer maneira:

link

Eu tenho arquivos com nomes como:

AlchBagSquare_Black°.nif
League-of-Legends-фэндомы-1759411.jpeg

Quando eu tento usar o del {filename} para excluí-los, apenas ays:

Não foi possível encontrar {filename}

Eu preciso de uma solução única e abrangente que funcione para todos os caracteres especiais por meio da linha de comando do Windows 7.

Editar: estou gerando um arquivo em lote para excluir arquivos, por isso também não é possível exigir a entrada do usuário.

Editar 2: Veja como estou usando o comando delete:

del /F "D:\backup\League-of-Legends-фэндомы-1759411.jpeg"
    
por oscilatingcretin 29.04.2018 / 21:28

2 respostas

1

Nenhum de seus caracteres é inválido como a outra pergunta (que usa o : proibido no nome)

Então, o que você precisa fazer é usar o Unicode salvando o arquivo em lote como UTF-8 sem BOM e alterando a página de código para UTF-8 (65001) se não for o padrão

chcp 65001
del AlchBagSquare_Black°.nif
del League-of-Legends-фэндомы-1759411.jpeg

Veja mais Excluindo um arquivo com caracteres UTF-8 no nome do arquivo (ex. caracteres japoneses, chineses)

    
por 30.04.2018 / 12:25
-2

cd na pasta e, em seguida, faça um dir /b >> .\list.txt

Isso lhe dará uma lista dos nomes, incluindo caracteres especiais.

Em seguida, escreva um loop for que leia a lista uma linha por vez e exclua-as. Algo como:

for %%i in (list.txt) do ( del %%i)

Isso deve ser feito, a menos que haja algo que você não tenha nos contado. O que há de errado com apenas cd na pasta e, em seguida, del *.* ?

    
por 29.04.2018 / 22:26