Bonjour,
Je souhaite automatiser la suppression de sauvegarde sur une serveur de sauvegarde afin que le disque ne sature pas.
Je suis arrivé à pondre ce script qui s'exécute juste avant le lancement d'un sauvegarde :
ECHO ON
SET YYYYMMDD=%DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2%
MKDIR %YYYYMMDD%
REM ###### SUPPRESSION DES VERSIONS ANTERIEURES ######
REM ### VARIABLES ###
SET mois=%DATE:~3,2%
SET jour=%DATE:~0,2%
REM ### DEBUT ###
REM ### ON DESCIDE DE GARDER 14j DE SAUVEGARDE ###
SET /a jour-=14
REM ### DANS LE CAS OU ANCIENNE SAUV EST DANS LE MEME MOIS ###
IF %jour% GEQ 1 GOTO OK
REM ### SINON... ###
SET /a mois-=1
IF "0%mois%"=="01" GOTO :MAX
IF "0%mois%"=="02" GOTO :FEV
IF "0%mois%"=="03" GOTO :MAX
IF "0%mois%"=="04" GOTO :MIN
IF "0%mois%"=="05" GOTO :MAX
IF "0%mois%"=="06" GOTO :MIN
IF "0%mois%"=="07" GOTO :MAX
IF "0%mois%"=="08" GOTO :MAX
IF "0%mois%"=="09" GOTO :MIN
IF "0%mois%"=="10" GOTO :MAX
IF "0%mois%"=="11" GOTO :MIN
IF "0%mois%"=="12" GOTO :MAX
REM ### SI MEME MOIS ###
:OK
SET nYYYYMMJJ=%DATE:~6,4%-%DATE:~3,2%-%jour%
GOTO SUITE
REM ### SI MOIS DE 31j ###
:MAX
SET njour=%jour%
SET /a njour=31+%njour%
SET nYYYYMMDD=%DATE:~6,4%-0%mois%-%njour%
GOTO SUITE
REM ### SI MOIS DE FEVRIER ###
:FEV
SET njour=%jour%
SET /a njour=28+%njour%
SET nYYYYMMDD=%DATE:~6,4%-0%mois%-%njour%
GOTO SUITE
REM ### SI MOIS DE 30j ###
:MIN
SET njour=%jour%
SET /a njour=30+%njour%
SET nYYYYMMDD=%DATE:~6,4%-0%mois%-%njour%
GOTO SUITE
REM ### SUPPRESSION ANCIENNE SAUVEGARDE ###
:SUITE
SET test=%nYYYYMMDD%
%test%
RD /s /q "%nYYYYMMDD%"
GOTO FIN
:FIN
PAUSE
Le problème est au niveau de la commande RD /s /q %nYYYYMMDD%
Lors des test, cette variable n'apparait pas, et donc il n'arrive pas a supprimer mon dossier date.
Merci pour d'éventuelles propositions.
Configuration: Windows XP
Firefox 3.0.3