1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| echo off
::Recuperation de l'annee, mois, jour, heure, minute, seconde
SET ANNEE=%DATE:~6,4%
SET MOIS=%DATE:~3,2%
SET JOUR=%DATE:~0,2%
SET HEURE=%TIME:~0,2%
SET MINUTE=%TIME:~3,2%
SET SECONDE=%TIME:~6,2%
SET SEPARATION=_
::si l'heure est inférieure a 10 alors ajouter un 0 devant
if %HEURE% lss 10 set HEURE=0%time:~1,1%
::Concacter la date
SET FULLTIME=%ANNEE%%SEPARATION%%MOIS%%SEPARATION%%JOUR%%SEPARATION%%HEURE%%MINUTE%%SECONDE%
::chemin des differents dossier
SET DIRIN1=C:\cheminDossier1\
SET DIRIN2=C:\cheminDossier2\
SET DIRF=C:\cheminduDossierLog\f-file.txt
cd %DIRIN1%
::boucle qui parcourt tout les fichiers du dossier
for %%i in (%DIRIN1%\*.*) do (
call :copieName %%~nxi
)
pause
:copieName
SET name=%1
::test l'existance du fichier
If exist "%DIRIN1%%name%" (
::copie le fichier et presse f
xcopy %DIRIN1%%name% %DIRIN2%%FULLTIME%%SEPARATION%%name% /M < %DIRF%
CALL:writeLog %ERRORLEVEL%
)
goto :eof
:writeLog
::ecriture du retour de la commande xcopy dans les log
ECHO. >> C:\cheminduDossierLog\log_%FULLTIME%.txt
IF %1==0 ( ECHO %FULLTIME% - %name% Pas d'erreur %1 >>C:\cheminduDossierLog\log_%FULLTIME%.txt )
IF %1==1 ( ECHO %FULLTIME% - %name% erreur %1 - Aucun fichier à copier n'a été trouvé >> C:\cheminduDossierLog\log_%FULLTIME%.txt )
IF %1==2 ( ECHO %FULLTIME% - %name% erreur %1 - Opération annulée par l'utilisateur >> C:\cheminduDossierLog\log_%FULLTIME%.txt )
IF %1==4 ( ECHO %FULLTIME% - %name% erreur %1 - Erreurs diverses comme manque de mémoire, espace disque insuffisant, nom de lecteur invalide ou syntaxe incorrecte >> C:\cheminduDossierLog\log_%FULLTIME%.txt )
IF %1==5 ( ECHO %FULLTIME% - %name% erreur %1 - Une erreur d'écriture disque est survenue >> C:\cheminduDossierLog\log_%FULLTIME%.txt)
GOTO :eof |
Partager