Como renomear em lote e remover os últimos caracteres

2

No Windows XP, estou tentando descobrir como renomear em lote e remover os últimos caracteres de nomes de arquivos.

Exemplo de remoção dos últimos 4 caracteres antes da extensão do arquivo: file.doc.pdf - > file.pdf

Eu poderia fazer:

ren *.pdf *.
ren *.doc *.pdf

Embora isso não funcione bem se já houver outros PDFs na pasta.

Não tenho certeza se o comando FOR é necessário aqui.

    
por Infinite loop 15.06.2013 / 23:48

4 respostas

2

Se os nomes dos seus arquivos não contiverem nenhum período diferente do final (.doc.pdf), o seguinte funcionará:

for /f "delims=." %a in ('dir /b *.doc.pdf') do ren "%~a.doc.pdf" "%~a.pdf"
    
por 16.06.2013 / 02:24
0
ren *.doc.pdf ????????????????????.pdf

Apenas certifique-se de que a máscara de destino tenha pelo menos o mesmo ? do nome de arquivo base mais longo.

Para uma explicação de por que isso funciona, consulte Como o comando Windows RENAME interpreta curingas?

    
por 29.03.2014 / 03:36
0

ren * *. -> will give you 'file.doc' repeat above command -> will give you 'file' ren * *.pdf -> will give 'file.pdf'

    
por 16.08.2018 / 13:31
-1

file.doc.pdf - > arquivo.doc:

for %I in (*.doc.pdf) do rename "%~nI.pdf" "%~nI"

arquivo.doc - > file.pdf

for %I in (*.doc) do rename "%~nI.doc" "%~nI.pdf"
    
por 16.06.2013 / 01:09