Renomeie o arquivo com sufixo como 01 02 03 04 etc
Jogue fora seu roteiro inadequado. Você não precisa de números aleatórios e não processa .png
arquivos.
Eu escrevi um novo script do zero, como foi mais fácil do que tentar consertar seu script quebrado.
Use o seguinte arquivo em lotes:
@echo off
setlocal enabledelayedexpansion
rem initialise counter
set /a "x=1"
rem process jpg and png files
for /f "usebackq tokens=*" %%i in ('dir /b *.jpg *.png') do (
rem split into name and extension
set _name=%%~ni
set _ext=%%~xi
rem pad the counter to 2 digits
set "y=0!x!"
set "y=!y:~-2!"
rem do the rename
ren "%%i" "!_name!-!y!!_ext!"
increment counter
set /a "x+=1"
)
endlocal
Limitações:
- Apenas processa
.jpg
e .png
no diretório de trabalho atual.
- processa somente até
99
arquivos.
Leitura Adicional
-
Um índice A-Z da linha de comando do Windows CMD - Uma excelente referência para todas as coisas relacionadas à linha do Windows cmd.
-
dir - Exibe uma lista de arquivos e subpastas.
-
enabledelayedexpansion - Expansão com atraso fará com que as variáveis sejam expandidas em tempo de execução e não no tempo de análise.
-
para / f - Comando Loop contra os resultados de outro comando.
-
parâmetros - Um argumento de linha de comando (ou parâmetro) é qualquer valor passado para um script em lote.
-
definir - Exibir, definir ou remover variáveis de ambiente do CMD. As alterações feitas com o SET permanecerão apenas pela duração da sessão atual do CMD.
-
variáveis - Extrai parte de uma variável (substring).