Eu tenho tentado a manhã toda para tentar escrever um script de renomeação de lote simples. Esta é minha primeira vez tentando esse tipo de coisa. Eu tenho tentado usar For /R
para que meu comando recorra através de subpastas, mas não está funcionando.
Meu código é assim:
FOR /R %%a in (.) do REN "i.JPG" "inlet.JPG"
REN
está trabalhando no diretório pai, mas não recorrendo através de subdiretórios. Alguém pode ver o que estou fazendo errado?
Obrigado.
batch
batch-rename
eyerah
fonte
fonte
/d
opçãofor
se quiser corresponder aos diretórios. Além disso, você precisa usar"%%a\i.JPG"
oren
nome do arquivo de origem do comando.%%a
. Isso pareceu resolver o problema. O que você quer dizer com diretórios de correspondência?for
corresponde a arquivos, não a diretórios, a menos que você adicione/d
: vejafor /?
para obter mais detalhes..
serão combinadas sem/d
- não entendo completamente o porquê. O que se%%a\i.JPG
expande para éSubDirName\.\i.JPG
. Uma solução mais simples éFOR /R %%a in (i.JPG) do REN "%%a" "inlet.JPG"
: isso evita erros em subdiretórios sem nenhumi.JPG
arquivo, especialmente se você deseja executar novamente o arquivo em lotes.