|
Answer» Hi, in the folowing batch, I would compare if the file is the same in the source DIRECTORY and in the destination directory.
with the commande : copy c:\TEMP\*.pdf c:\psipi\rde\30
Note that *.pdf is not ever the same. So I would know that if the 2 *.pdf files are same, the loop make a rename with an extension *_1 or *_2.pdf Thanks a lot for the help
MY BATCH :
@ECHO OFF CLS
SET RSOURCE=%1 ECHO REPERTOIRE SOURCE=%RSOURCE%
SET FICHIER=%2 ECHO FICHEIR=%FICHIER%
SET RDESTINATION=%3 ECHO REPERTOIRE DESTINATION=%RDESTINATION%
FOR /F "tokens=1,2* delims=." %%G IN ("%FICHIER%") DO CALL :SPLIT %%H %%G GOTO :SKIP
REM ************************************************************** :SPLIT SET EXTENSION=%1 ECHO EXTENSION=%EXTENSION% SET RACINE=%2 ECHO RACINE=%RACINE% REM ************************************************************** GOTO :EOF :SKIP
SET SOURCE=%FICHIER% ECHO SOURCE=%SOURCE%
SET BACKUP=%RACINE%.%EXTENSION% ECHO BACKUP=%BACKUP%
CD %RDESTINATION% IF NOT EXIST %BACKUP% GOTO :FIN
SET INDEX=0 REM *********************************************************** :LOOP SET /A INDEX+=1 SET BACKUP=%RACINE%_%INDEX%.%EXTENSION% ECHO %BACKUP% IF EXIST %BACKUP% GOTO :LOOP
REM ********************************************************** :FIN ECHO %BACKUP%
REM ################################################################################################# ECHO FICHIER=%FICHIER% ECHO SOURCE=%SOURCE% ECHO BACKUP=%BACKUP%
IF NOT %FICHIER%==%BACKUP% RENAME %FICHIER% %BACKUP% COPY %RSOURCE%\%SOURCE% %FICHIER% REM ################################################################################################# cd.. GOTO :EOF
REM ********************************************************** :EOF
|