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 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156
| REM Les lignes marquées REM sont des REMarques, qui vous aiderons à comprendre le principe
REM Ces éléments peuvent être supprimés par la suite
REM Les textes et les [Source] [Destination] de la commande XCOPY seront à adapter à vos besoins
REM Il faut faire attention, les accents et les espaces dans les noms des répertoires
REM peuvent ne pas faire fonctionner la routine.
REM faire une sélection tous le texte ci-dessous, puis clic droit copier
REM Ouvrir le bloc note et coller le texte
REM Enregistrer le fichier ou vous le souhaitez, et changer l'extention en ".bat"
REM Pour info: L'extension des fichiers texte du bloc note sont par défaut ".txt"
@echo off
ECHO.
ECHO **************************************************
ECHO * *
ECHO * SAUVEGARDE DES DONNES DE C: vers D: EN COURS *
ECHO * *
ECHO **************************************************
ECHO.
REM -------- MEMORISATION ET DECOMPOSITON DE L'HEURE DE DEBUT ---------
set debut=%TIME%
set /a hd=%TIME:~0,2%*3600
set /a md=%TIME:~3,2%*60
set Sd=%TIME:~6,5%
set /a s1=hd+md+sd
REM s1= heure de début convertie en secondes
REM -------- MEMORISATION ET DECOMPOSITON DE LA DATE DU JOUR ---------
set jo=%date:~5,2%
set mo=%date:~8,2%
set an=%date:~11,4%
REM jo = jour de la sauvegarde
REM mo= mois de la sauvegarde
REM an= année de la sauvegarde
REM -------- PROGRAMME DE SAUVEGARDE DE C:\TRAVAIL vers D:\TRAVAIL ---------
REM Par exemple, nous voulons sauvegarder le contenu du répertoire c:\travail vers
REM le disque de sauvegarde (interne ou externe) d:\travail
ECHO - SAUVEGARDE DE C:\TRAVAIL vers D: \TRAVAIL EN COURS -
del d:\travail\*Sauvegarde*.txt
REM supprime le fichier de suivi des sauvegardes précédent
xcopy c:\travail\*.* d:\travail\ /E /R /Y /I /F > d:\travail\"Sauvegarde_des-donnes_du_%jo%-%mo%-%an%.txt"
REM -------- EXPLICATION SUR LA COMMANDE XCOPY ---------
REM TRES IMPORTANT, IL EST IMPERATIF DE NE PAS FAIRE D'ERREUR SUR LA SYNTAXE ….
REM syntaxe : XCOPY [Source] [Destination] [/E] [/R] [/Y] [/I] [/F] > [Destination1]"nom_fichier.txt"
REM [Source] Spécifie le ou les fichiers à copier. Dans notre cas [Source] = c:\travail
REM [Destination] Spécifie l'emplacement et/ou le nom de nouveaux fichiers. Dans notre cas [Destination] = d:\travail
REM /E Copie les répertoires et sous-répertoires, y compris les répertoires vides.
REM /R Remplace les fichiers en lecture seule.
REM /Y Supprime la demande de confirmation de remplacement de fichiers de destination existants.
REM /I Si la destination n'existe pas et que plus d'un fichier est copié, considérer la destination comme devant être un répertoire.
REM /F Affiche les noms de source et de destination complets lors de la copie.
REM > permet de renvoyer les données sauvegardées vers un fichier
REM [Destination1] Spécifie l'emplacement ou sera enregistrer le fichier "nom_fichier.txt". Dans notre cas [Destination1] = d:\travail
echo Sauvegarde_des-donnes_du_%jo%-%mo%-%an%.txt creer
REM si nous lançons la sauvegarde 31/08/09, le fichier : "Sauvegarde_des-donnes_du_31-08-2009.txt" sera créer
REM Puisque les variables %jo% = 31, %mo%=08, %an%=2009 (voir §mémorisation et décomposition de la date du jour)
REM Ce fichier sera créer dans le répertoire d:\travail. Il contiendra le nom des fichiers sources et destination copiés
REM et permettra de contrôler que la sauvegarde s'est bien effectuée (fichier de suivi). Ceci dit cela n'est pas une obligation.
REM vous pouvez le supprimer, car selon les volumes sauvegarder le fichier .txt peut être supérieur à 1Mo
ECHO - SAUVEGARDE C:\TRAVAIL vers D: \TRAVAIL TERMINEE -
ECHO.
ECHO.
REM Il est possible d'ajouter autan de sauvegarde que l'on souhaite.
REM Le programme de sauvegarde doit tout simplement être ajouter en suivant.
REM Comme dans le premier exemple au dessus
REM Il suffit de reprendre les 9 lignes ci-dessus et de modifier en conséquence.
ECHO **************************************************
ECHO * *
ECHO * SAUVEGARDE DES DONNES DE C: vers D: TERMINEE *
ECHO * *
ECHO **************************************************
ECHO.
REM -------- MEMORISATION ET DECOMPOSITON DE L'HEURE DE FIN ---------
set fin=%TIME%
set /a hf=%TIME:~0,2%*3600
set /a mf=%TIME:~3,2%*60
set Sf=%TIME:~6,5%
set /a s2=hf+mf+sf
REM s2= heure de fin convertie en secondes
REM -------- CALCUL DE LA DUREE EN SECONDES ---------
set /a s3=s2-s1
REM s3= Duree totale exprimee en secondes
REM ----- CONVERTION DUREE EN MINUTES ET SECONDES -----
set /a h1=s3/3600
set /a m1=(s3/60)-(h1*60)
set /a s4=s3-((h1*3600)+(m1*60))
REM ----- RAPPEL DES VARIABLES UTILISEES DANS LE PROGRAMME-----
REM debut= Heure de début de sauvegarde
REM fin= Heure de fin de sauvegarde
REM jo = jour de la sauvegarde
REM mo= mois de la sauvegarde
REM an= année de la sauvegarde
REM h1= duree en heures -> nombre entier après calcul (décimale non gérée par DOS)
REM m1= duree en minutes -> nombre entier après calcul (décimale non gérée par DOS)
REM s1= heure de début convertie en secondes
REM s2= heure de fin convertie en secondes
REM s3= Duree totale exprimee en secondes
REM s4= duree en secondes -> nombre entier après calcul (décimale non gérée par DOS)
REM -------- MISE EN PAGE RESULTAT ---------
Echo +------------------------------------+
Echo : Debut de sauvegarde : %debut% :
Echo +---------------------+--------------:
Echo : Fin de sauvegarde : %fin% :
Echo +------------------------------------+
REM -------- INFORMATION SUR DUREE CONDITIONNELLE -------
REM Pour mémo:
REM EQU - égal à
REM NEQ - différent de
REM LSS - inférieur à
REM LEQ - inférieur ou égal à
REM GTR - supérieur à
REM GEQ - supérieur ou égal à
if %s3% leq 3599 goto minutes
REM Si la durée totale de sauvegarde est inférieure ou égale à 1 heure (3599 s)
REM renvoi à la ligne minutes
:heures
Echo : Temps de sauvegarde : %h1% h %m1% min %s4% s
REM affichage de la durée en heure(s), minutes et secondes
goto fin
:minutes
if %s3% leq 59 goto secondes
REM Si la durée totale de sauvegarde est inférieure ou égale à 1 minute (59 s)
REM renvoi à la ligne secondes
Echo : Temps de sauvegarde : %m1% min %s4% s
REM affichage de la durée en minutes et secondes
goto fin
:secondes
Echo : Temps de sauvegarde : %s4% secondes
REM affichage de la durée en secondes
:fin
Echo +------------------------------------+
pause |
Partager