Renommer Fichiers en masse DOS .bat

Un script pour renommer les plans en masse :

 

REM *** debut programme **** 
Set Var1=JMP_2
dir /B c:\Temp_Plans\*.pdf > c:\Temp_Plans\files_list.txt
 
for /F "tokens=1,2 delims=_ " %%i IN (c:\Temp_Plans\files_list.txt) do copy c:\Temp_Plans\%%i_%%j c:\Temp_Plans\Out\%Var1%_%%j 
REM *** fin programme ******

Dans cet exemple le fichier Truc_001.pdf sera copié en JMP_2_001.pdf (le caractère « _ » sert de point de découpage (delims) du texte.

  • Défini la variable du nom de fichier final
  • Récupère la liste des fichiers répondant au format dans un fichier texte.
  • Pour chaque ligne du fichier, éclate la ligne au délimiteur « _  » et transfert le contenu dans les variable i, j, k…. ici dans la limite de 2 variables [tokens=1,2]
  • Copie les fichiers vers un répertoire de travail avec le nom

 

 

@echo off
if "%1" == "" goto syntaxe
set new=%1
if exist c:\Temp_Plans goto suite

md c:\Temp_Plans_New

:suite
for %%x in (*.jpg) do copy c:\test\print\%%x c:\test\temp\%new%%%x
set new=
goto fin

:syntaxe
echo Syntaxe: TEST.BAT + le paramètre
echo.
echo Exemple: TEST Q2ICTC2
echo.
:fin

//// En passant par un fichier texte tampon

REM *** debut programme **** 
dir /B c:\temp\temp > c:\temp\files_list.txt 
for /F "tokens=1,2,3 delims=. " %%i IN (c:\temp\files_list.txt) do c:\temp\temp\%%i.%%j.%%k c:\temp\temp\%%i_%%j.%%k 
REM *** fin programme ******

///

 

Biblio :