Tout d'abord bonjour/bonsoir...
Voilà je débute en batch, j'ai bien pris le temps de parcourir le forum avant de me décider à poster...
je prend le temps de décrire désolé pour la "longueur" du post...
Le BUT:
je cherche un faire un batch qui serait installé sur des PC sous XP ET 98SE, de plus l'O.S est anglais ou français.. ça me facilite pas la tâche coté format de date....
Ce batch doit faire un Backup du dossier "toto" dans une autre partition (je pense pas que les chemins relatifs marchent..) donc je me débrouillerai pour avoir l'O.S dans C: (par défaut de toute façon) et la partition de sauvegarde dans E: (facile sous Xp de changer l'attribution de lettre, plus chiant apparement sous Win98SE, puisque je partionne APRES l'installation de l'O.S via Partition Magic (pc déjà pré-configurés))
dans le dossier de sauvegarde ( E:\BACKUP) je crée des sous-dossiers correspondant à une sauvegarde par mois (plus simple pour le FOR et TOKENS, le mois se trouvant au milieu du format, quitte à changer les "regional settings" pour que ça marche ... manuellement ou par une fichier reg pour HKCU>control panel>International
voyez mon fichier plus loin...
Mon soucis est de mettre une espèce de compteur qui me garde QUE les "n" dernières sauvegardes ( 3 par exemple) afin de ne pas remplir la partition....et là je sèche..je pensais soit un incrément de 1 est dès que la valeur "n" est atteinte faire un DEL complet de la directory BACKUP ou encore par comparaison de date...bref ne garder que les "n" derniers.
Soucis annexe: dans le format date je suis pas bien certain que le jour n'apparaisse pas sous 98 ce qui implique que la valeur "2" du TOKENS ne correspondrait plus au mois...(j'écris le batch sous XP), à moins que ça soit que la short date dans le paramètre DATE /T, je m'y perd un peu...
Voici mon Batch:
@echo off
cls
if not "%os%"=="Windows_NT" goto NextStep
REM --- Section spécifique à Windows NT ---
title Backup
color FC
:NextStep
set fSrc="C:\toto"
set fDest="E:\BACKUP"
if not exist %fDest% md %fDest
rem recuperation du mois en cours en format decimal
for /F "tokens=2 delims=/.,- " %%i in ('date /T') do set fMois=%%i
rem si le bakup a deja ete fait le mois en cours ne pas ecraser
if EXIST "%fDest%\Sauv_%fMois%.txt" GOTO FIN
rem sinon effectuer la sauvegarde
xcopy /I /S /H /Q /Y %fSrc% %fDest%\sauv_%fMois%\
echo > %fDest%\sauv_%fMois%.txt
GOTO FIN
:FIN
MERCI à ceux qui peuvent m'aider...et me faire comprendre.
Amicalement
Message édité par Lommag le 28-10-2004 à 19:57:19