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.
Obrigado. Eu consertei o nome do arquivo e adicionei o arquivo
—
eyerah
%%a
. Isso pareceu resolver o problema. O que você quer dizer com diretórios de correspondência?
Por padrão,
—
AFH
for
corresponde a arquivos, não a diretórios, a menos que você adicione /d
: veja for /?
para obter mais detalhes.
Mais investigações mostram que
—
AFH
.
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 nenhum i.JPG
arquivo, especialmente se você deseja executar novamente o arquivo em lotes.
@eyerah Você pode especificar o que realmente deseja fazer com o arquivo em lote? Existe apenas um único arquivo ou muitos arquivos com o mesmo nome?
—
Biswapriyo
/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.