J'ai environ 1000 images et leur nom s'appelle "IMG-12223". Je veux les renommer 1 2 3 4 ... 1000. Comment puis-je faire cela. J'ai écrit un script batch qui liste les fichiers mais je ne sais pas comment renommer chaque fichier. par exemple. renommer la première image avec le nom "IMG-12223" en 1, la deuxième image avec le nom "IMG-23441" en 2 et ainsi de suite ...
for /r %%i in (*) do (
echo %c%
)
Il n'y a pas besoin d'un script batch. Une simple ligne de commande peut faire le travail :-)
J'utilise DIR/B pour générer la liste des fichiers, dirigée vers FINDSTR pour numéroter les fichiers, tous joints à FOR/F pour analyser le résultat et effectuer le changement de nom.
for /f "delims=: tokens=1*" %A in ('dir /b *.jpg^|findstr /n "^"') do @ren "%B" "%A%~xB"
Doublez les pourcentages si vous souhaitez placer la commande dans un script batch.
Essayez ceci, vous avez une paire de valeurs de nom dans un fichier texte, puis bouclez les valeurs et faites la magie. Namevalues sont séparés par des espaces vides. Cela vous permet de mapper les anciens -> nouveaux noms de fichiers en conséquence. Ou vous gardez idx + 1 compteur et l’utilisez pour les nouveaux noms de fichiers.
keyvalue.bat
@echo off
set idx=0
for /F "tokens=1,2" %%A in (keyvalue.txt) do call :PROCESS "%%A" "%%B"
GOTO :END
:PROCESS
set var1=%~1
set var2=%~2
set /A idx=%idx%+1
echo %var1% goes to %var2% (%idx%)
GOTO :EOF
:END
pause
keyvalue.txt
file888.dat newfile1.dat
file333.dat newfile2.dat
file9.dat newfile3.dat
file01.dat newfile4.dat