Renomeando janelas de linha de comando

1

Estou usando o Windows 10 e gostaria de renomear um número de arquivos que estão no diretório C:\temp\bildgroesse . Os arquivos são denominados test1.tif , test2.tif e assim por diante.

Então eu escrevi a linha de comando:

cd \temp\bildgroesse
rename C:\temp\bildgroesse\ *.tif *-org.tif

Eu também tentei:

cd \temp\bildgroesse
rename C:\temp\bildgroesse\ * *-org

O resultado é nos dois casos: test1.tif_org.tif , test2.tif_org.tif e assim por diante. Então o Windows usa a extensão como nome de arquivo.

Alguém sabe como resolver esse problema?

    
por UliW 03.08.2017 / 15:20

2 respostas

1

Sua formulação costumava funcionar nas versões anteriores do Windows, então eu realmente o definiria como um novo bug no Windows 10.

Você pode usar o comando forfiles assim:

forfiles /M *.tif /C "cmd /c ren @file @fname-org.tif"
    
por 03.08.2017 / 15:44
0

Você deve usar a solução forfiles , mas é como adicionar uma string a um nome de arquivo antes de sua extensão usando somente o comando rename .

ren *.ext ????????????string.ext

Então, no seu caso, você usaria

cd \temp\bildgroesse
ren *.tif ????????????-org.tif

Notas:

  • Isso faz não funcionar da mesma forma se um arquivo tiver mais de um . em seu nome. O curinga de ponto de interrogação corresponde a um único caractere, desde que esse caractere não seja . , portanto, somente os caracteres antes do primeiro . aparecerão no novo nome de arquivo. A solução forfiles não tem essa restrição.

  • O número de pontos de interrogação precisa ser maior ou igual ao tamanho do nome de arquivo mais longo (sem sua extensão).

  • Uma vez que você cd para um diretório, você não precisa digitar o caminho completo para os arquivos. Como alternativa, se você digitar o caminho completo, não será necessário cd .

  • ren é um alias para rename .

Mais informações sobre ren / rename , incluindo o uso de curingas, podem ser encontradas aqui .

    
por 03.08.2017 / 17:33