C'est un cadeau à la communauté ...

Vous m'aviez aidé sur quelques commandes. C'est normal que je renvoie l'ascenseur.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
echo off
color 0a
mode con cols=63 lines=40
title Programme de sauvegardes 6 g‚n‚rations Wmb Version 1.11
cls

Rem Programme de sauvegardes sur supports Usb
Rem 
Rem WMB Version 1.11 30/05/2009

Rem ************** Paramètres à fixer pour la sauvegarde ******** 
Rem ************** Attention à bien respecter les formats ******* 
Rem ******* Pas d'espace après les noms de dossiers ci-dessous ** 

set source=c:\Mes Documents
set repcible=\Backup 6Gen Wmb

set genrepsave1=\Gen 1
set genrepsave2=\Gen 2
set genrepsave3=\Gen 3
set genrepsave4=\Gen 4
set genrepsave5=\Gen 5
set genrepsave6=\Gen 6

Rem *************** Fin de réglage des paramètres ***************

Rem *************** Inventaire des supports disponibles ********

:debut
(
Rem vol c: (Activation si nécessaire)
Rem Vol d: (Activation si nécessaire)
vol e:
vol f:
vol g:
vol h:
vol i:
vol j:
vol k:
vol l:
vol m:
vol n:
vol o:
vol p:
vol q:
vol r:
vol s:
vol t:
vol u:
vol v:
vol w:
vol x:
vol y:
vol z:
) > volumes.txt
Rem *************************************************************

Rem ****** Détection d'un seul périphérique ************************
cls
set compt=
set ndrive=
find /i "Le volume dans le lecteur" volumes.txt > mono.txt
for /f "delims=" %%i in ('type mono.txt') do set /a compt+=1
Set /a ndrive = %compt%-1
for /f "delims=" %%V in (mono.txt) do set variable=%%V
set monoperif=%variable:~39%
set nomusb=%monoperif%
Rem *****************************************************************

Rem ************* Affichage des supports disponibles ************

:affichage
mode con cols=63 lines=40
echo,
echo       _________________________________________________
echo,
echo       LISTE DES SUPPORTS DISPONIBLES POUR LA SAUVEGARDE
echo       _________________________________________________
echo,
if %ndrive% gtr 1 echo                       %ndrive% supports 
echo,
echo,
echo,
find /i "Le volume dans le lecteur" volumes.txt > drives.txt
if %ndrive% gtr 0 echo  ___________________________________________________________
echo,
for /f "eol=- tokens=1* delims=, " %%i in (drives.txt) do @echo  %%i %%j
if %ndrive% gtr 0 echo  ___________________________________________________________
if not exist "%source%" goto avertissement4
If errorlevel 1 goto avertissement1
If %ndrive% == 1 goto monosupport
if errorlevel 0 goto choix


Rem désativation temporaire If not errorlevel 1 goto choix else goto avertissement1 

:avertissement1
echo,
echo      Aucun support n'est disponible pour la sauvegarde ...
echo,
echo   Veuillez connecter un p‚riph‚rique (Disque dur ou cl‚ USB)
echo                    et relancer le programme
echo,
pause
goto fin

Rem *************** Choix du nom par l'utilisateur ***************

:choix
echo,
echo,
echo,
echo Veuillez indiquer ci-dessous le nom du support choisi
echo,
set nomusb=
set/p nomusb=
goto recherche
Rem **************************************************************


Rem ************ Absence de choix / proposition ******************

:monosupport
set nomvrai=%monoperif%
echo,
echo,
echo   Un seul support est disponible pour votre sauvegarde
echo          Souhaitez-vous n‚anmoins poursuivre ?
echo,
echo      Si oui appuyez sur Entr‚e pour continuer
set valid=
(Set /p valid=  Sinon tapez "N" puis Entr‚e pour sortir du programme )
set Vrf=%valid:~,2% &if defined Vrf Set valid=%valid:~,1%
if /i "%valid%" =="N" goto sortie
Rem **************************************************************


Rem ******** Recherche du périphérique ***************************

:recherche
find /i "%nomusb%" volumes.txt > drives.txt
if not errorlevel 1 goto connexion else if goto avertissement2 
:avertissement2
echo   Votre entr‚e ne correspond … aucun p‚riph‚rique actif ...
echo               Souhaitez-vous recommencer ?
echo,
echo Si oui appuyez sur Entr‚e pour recommencer
set valid=
(Set /p valid=ou "N" puis Entr‚e pour sortir du programme )
set Vrf=%valid:~,2% &if defined Vrf Set valid=%valid:~,1%
if /i "%valid%" =="N" goto fin 
Set nomusb=
goto debut

:connexion
for /f "delims=" %%V in (drives.txt) do set variable=%%V
set lettre=%variable:~27,1%]
set lecteur=%lettre:]=:%
Set nomvrai=%variable:~39%
echo Début de dernière sauvegarde : %date% à %time% > "%lecteur%Lastsavelog-6gen.txt"
echo,
echo D‚tection du support %nomvrai% connect‚ au lecteur %lecteur% 
Rem **************************************************************

Rem ********* Test des capacités *********************************
Rem ********* Test de charge de la sauvegarde ************* 
dir "%source%"\*.* /s/-w/-c > contenu.txt
find /i "fichier(s)" contenu.txt > charge.txt
sort charge.txt /r > tri.txt
for /f "tokens=1,* delims=:" %%i in ('findstr /n /r . tri.txt') do if %%i geq 1 if %%i leq 1 set chargetemp=%%j 
set chargefinale=%chargetemp:~27,18%

Rem ******** Gestion de l'arrondi de la charge ******
set chargemeg=%chargetemp:~27,-14%
set chargekilo=%chargetemp:~38,6%
set chargeoctet=%chargetemp:~27,18%
if /i %chargekilo% geq 500000 set /a chargemeg=%chargemeg%+1 
Rem ********************************************************

Rem ********* Test de capacité de destination ************* 
dir %lecteur% /-w/-c > check.txt
find /i "octets libres" check.txt > capa.txt
for /f "delims=" %%V in (capa.txt) do set capatemp=%%V

Rem ***** Gestion de l'arrondi de destination *****
set capameg=%capatemp:~23,-20%
set capakilo=%capatemp:~33,-13%
set capaoctet=%capatemp:~23,-13%
if /i %capakilo% geq 500000 set /a capameg=%capameg%+1 
Rem *******************************************
Rem *******************************************************
Rem ************************************************************

Rem ***** Affichage des capacités et avertissements *****
echo,
if "%capameg%" == "          " (echo              SATURATION DU SUPPORT IMMINENTE ) else (echo          %capameg% m‚gaoctets libres sur le support)
if "%capameg%" == "          " echo                CAPACITE INFERIEURE A 1 Mo ! 
echo, 
echo       Poids de la sauvegarde = %chargemeg% m‚gaoctets
If "%capameg%" == "          " @ping 127.0.0.1 -n 6 -w 190000 > nul & goto sortie 
if /i %capameg% lss %chargemeg% goto avertissement3
echo,
@ping 127.0.0.1 -n 4 -w 190000 > nul
goto sauvegarde
*********************************************************

:avertissement3
color 0e 
@echo 
echo  ___________________________________________________________
echo,
echo                         ATTENTION !
echo,
echo      Capacit‚ insuffisante pour une sauvegarde initiale
echo            sauf dans le cadre d'une mise … jour
echo  ___________________________________________________________
echo,
pause
goto sauvegarde
Rem *******************************************************

:avertissement4
color 0c 
@echo 
echo  __________________________________________________________
echo,
echo                         ATTENTION !
echo,
echo  Incoh‚rence d‚tect‚e dans les paramŠtres de sauvegarde
echo  R‚pertoire … sauvegarder "%source%" absent ...
echo  __________________________________________________________
echo,
echo      La sauvegarde ne peut pas ˆtre effectu‚e ... 
echo,
pause
goto sortie
Rem *******************************************************



Rem ************* Processus de sauvegarde multi génération ***********************

:sauvegarde
echo,
echo,
echo             Initialisation de la sauvegarde ...
@ping 127.0.0.1 -n 4 -w 190000 > nul
mode con cols=63 lines=30
cls
Rem *** Contrôle d'existence des répertoires cibles de la restauration ****
if not exist "%lecteur%%repcible%" md "%lecteur%%repcible%"  
if not exist "%lecteur%%repcible%%genrepsave1%" md "%lecteur%%repcible%%genrepsave1%"
if not exist "%lecteur%%repcible%%genrepsave2%" md "%lecteur%%repcible%%genrepsave2%"
if not exist "%lecteur%%repcible%%genrepsave3%" md "%lecteur%%repcible%%genrepsave3%"
if not exist "%lecteur%%repcible%%genrepsave4%" md "%lecteur%%repcible%%genrepsave4%"
if not exist "%lecteur%%repcible%%genrepsave5%" md "%lecteur%%repcible%%genrepsave5%"
if not exist "%lecteur%%repcible%%genrepsave6%" md "%lecteur%%repcible%%genrepsave6%"
Rem ***********************************************************************

Rem *** Module de décision pour le choix de la génération **************

Rem *** Test de niveau 1/2 ******* 
set purge=N
if not exist "%lecteur%%repcible%%genrepsave1%\lastbackupdate.txt" goto save1
if not exist "%lecteur%%repcible%%genrepsave2%\lastbackupdate.txt" goto save2
if not exist "%lecteur%%repcible%%genrepsave3%\lastbackupdate.txt" goto save3
if not exist "%lecteur%%repcible%%genrepsave4%\lastbackupdate.txt" goto save4
if not exist "%lecteur%%repcible%%genrepsave5%\lastbackupdate.txt" goto save5
if not exist "%lecteur%%repcible%%genrepsave6%\lastbackupdate.txt" goto save6
Rem ******************************

Rem *** Test de niveau 2/2 ************** Paramètres spécifiques pour windows Xp ******
type "%lecteur%%repcible%%genrepsave1%\lastbackupdate.txt" > logtmp.txt
for /f "delims=" %%V in (logtmp.txt) do set variable=%%V
Rem ** Mémorisation date au format FR
set datefrgen1=%variable:~0,22%
Rem ** Conversion date au format U.S. nécessaire pour le tri **
set annee=%variable:~6,4%
set mois=%variable:~3,2%
set jour=%variable:~0,2%
set heure=%variable:~11,11%
set loggen=Gen 1 %annee% %mois% %jour% %heure%
set loggen=%loggen::= %
set loggen=%loggen:,= %
echo %loggen% > logfile.txt

type "%lecteur%%repcible%%genrepsave2%\lastbackupdate.txt" > logtmp.txt
for /f "delims=" %%V in (logtmp.txt) do set variable=%%V
Rem ** Mémorisation date au format FR
set datefrgen2=%variable:~0,22%
Rem ** Conversion date au format U.S. nécessaire pour le tri **
set annee=%variable:~6,4%
set mois=%variable:~3,2%
set jour=%variable:~0,2%
set heure=%variable:~11,11%
set loggen=Gen 2 %annee% %mois% %jour% %heure%
set loggen=%loggen::= %
set loggen=%loggen:,= %
echo %loggen% >> logfile.txt

type "%lecteur%%repcible%%genrepsave3%\lastbackupdate.txt" > logtmp.txt
for /f "delims=" %%V in (logtmp.txt) do set variable=%%V
Rem ** Mémorisation date au format FR
set datefrgen3=%variable:~0,22%
Rem ** Conversion date au format U.S. nécessaire pour le tri **
set annee=%variable:~6,4%
set mois=%variable:~3,2%
set jour=%variable:~0,2%
set heure=%variable:~11,11%
set loggen=Gen 3 %annee% %mois% %jour% %heure%
set loggen=%loggen::= %
set loggen=%loggen:,= %
echo %loggen% >> logfile.txt

type "%lecteur%%repcible%%genrepsave4%\lastbackupdate.txt" > logtmp.txt
for /f "delims=" %%V in (logtmp.txt) do set variable=%%V
Rem ** Mémorisation date au format FR
set datefrgen4=%variable:~0,22%
Rem ** Conversion date au format U.S. nécessaire pour le tri **
set annee=%variable:~6,4%
set mois=%variable:~3,2%
set jour=%variable:~0,2%
set heure=%variable:~11,11%
set loggen=Gen 4 %annee% %mois% %jour% %heure%
set loggen=%loggen::= %
set loggen=%loggen:,= %
echo %loggen% >> logfile.txt

type "%lecteur%%repcible%%genrepsave5%\lastbackupdate.txt" > logtmp.txt
for /f "delims=" %%V in (logtmp.txt) do set variable=%%V
Rem ** Mémorisation date au format FR
set datefrgen5=%variable:~0,22%
Rem ** Conversion date au format U.S. nécessaire pour le tri **
set annee=%variable:~6,4%
set mois=%variable:~3,2%
set jour=%variable:~0,2%
set heure=%variable:~11,11%
set loggen=Gen 5 %annee% %mois% %jour% %heure%
set loggen=%loggen::= %
set loggen=%loggen:,= %
echo %loggen% >> logfile.txt

type "%lecteur%%repcible%%genrepsave6%\lastbackupdate.txt" > logtmp.txt
for /f "delims=" %%V in (logtmp.txt) do set variable=%%V
Rem ** Mémorisation date au format FR
set datefrgen6=%variable:~0,22%
Rem ** Conversion date au format U.S. nécessaire pour le tri **
set annee=%variable:~6,4%
set mois=%variable:~3,2%
set jour=%variable:~0,2%
set heure=%variable:~11,11%
set loggen=Gen 6 %annee% %mois% %jour% %heure%
set loggen=%loggen::= %
set loggen=%loggen:,= %
echo %loggen% >> logfile.txt


Rem *************************************

Rem ************ Prise de décision **************
sort logfile.txt /+7 > logtri.txt
for /f "tokens=1,* delims=:" %%i in ('findstr /n /r . logtri.txt') do if %%i gtr 0 if %%i lss 2 set variable=%%j

Rem *** Purge des fichiers intermédiaires de traitement *******
del volumes.txt
del drives.txt
del capa.txt
del charge.txt
del check.txt
del contenu.txt
del tri.txt
del mono.txt
del logfile.txt
del logtmp.txt
del logtri.txt
Rem ***********************************************************

Rem *********** Affichage de la décision **********************
mode con cols=63 lines=40
cls 
echo,
echo       _________________________________________________
echo,
echo             GENERATIONS EXISTANTES SUR LE SUPPORT 
echo       _________________________________________________
echo,
echo       Date de la g‚n‚ration 1 = %datefrgen1%
echo       Date de la g‚n‚ration 2 = %datefrgen2%
echo       Date de la g‚n‚ration 3 = %datefrgen3%
echo       Date de la g‚n‚ration 4 = %datefrgen4%
echo       Date de la g‚n‚ration 5 = %datefrgen5%
echo       Date de la g‚n‚ration 6 = %datefrgen6%
echo,
echo                   G‚n‚ration s‚lectionn‚e = %variable:~4,1%
echo,
Rem **********************************************************

Rem ***** Module de purge *******************
Set purge=
echo, 
echo      Souhaitez vous purger pr‚alablement la destination ? 
echo,
echo         Si oui tapez "O" puis Entr‚e pour confirmer
set valid=
(Set /p valid=          ou Entr‚e pour une simple mise … jour )
set Vrf=%valid:~,2% &if defined Vrf Set valid=%valid:~,1%
if /i "%valid%" =="O" (set purge=P) else set purge=N 
Rem *****************************************

Rem ***** Application de la décision *******
if %variable:~4,1% == 1 goto save1
if %variable:~4,1% == 2 goto save2
if %variable:~4,1% == 3 goto save3
if %variable:~4,1% == 4 goto save4
if %variable:~4,1% == 5 goto save5
if %variable:~4,1% == 6 goto save6
Rem ****************************************

:save1
if %purge% ==P echo   ___________________________________________________________
if %purge% ==P echo,
if %purge% ==P echo   Purge %lecteur%%repcible%%genrepsave1% en cours ... 
if %purge% ==P echo   ___________________________________________________________
if %purge% ==P rd "%lecteur%%repcible%%genrepsave1%" /s /q
if %purge% ==P md "%lecteur%%repcible%%genrepsave1%"
echo,
echo   ___________________________________________________________
echo,
echo   Sauvegarde vers %lecteur%%repcible%%genrepsave1%
echo   ___________________________________________________________
echo,
@ping 127.0.0.1 -n 4 -w 190000 > nul
xcopy "%source%" /s/y/d/e/v/h/i "%lecteur%%repcible%%genrepsave1%"
if errorlevel 1 goto warning
echo,
echo %date% %time% > "%lecteur%%repcible%%genrepsave1%\lastbackupdate.txt
set lastgenrepsave=%genrepsave1%
goto endsave

:save2
if %purge% ==P echo   ___________________________________________________________
if %purge% ==P echo,
if %purge% ==P echo   Purge %lecteur%%repcible%%genrepsave2% en cours ... 
if %purge% ==P echo   ___________________________________________________________
if %purge% ==P rd "%lecteur%%repcible%%genrepsave2%" /s /q
if %purge% ==P md "%lecteur%%repcible%%genrepsave2%"
echo,
echo   ___________________________________________________________
echo,
echo   Sauvegarde vers %lecteur%%repcible%%genrepsave2%
echo   ___________________________________________________________
echo,
@ping 127.0.0.1 -n 4 -w 190000 > nul
xcopy "%source%" /s/y/d/e/v/h/i "%lecteur%%repcible%%genrepsave2%"
if errorlevel 1 goto warning
echo,
echo %date% %time% > "%lecteur%%repcible%%genrepsave2%\lastbackupdate.txt
set lastgenrepsave=%genrepsave2%
goto endsave

:save3
if %purge% ==P echo   ___________________________________________________________
if %purge% ==P echo,
if %purge% ==P echo   Purge de %lecteur%%repcible%%genrepsave3% en cours ... 
if %purge% ==P echo   ___________________________________________________________
if %purge% ==P rd "%lecteur%%repcible%%genrepsave3%" /s /q
if %purge% ==P md "%lecteur%%repcible%%genrepsave3%"
echo,
echo   ___________________________________________________________
echo,
echo   Sauvegarde vers %lecteur%%repcible%%genrepsave3%
echo   ___________________________________________________________
echo,
@ping 127.0.0.1 -n 4 -w 190000 > nul
xcopy "%source%" /s/y/d/e/v/h/i "%lecteur%%repcible%%genrepsave3%"
if errorlevel 1 goto warning
echo,
echo %date% %time% > "%lecteur%%repcible%%genrepsave3%\lastbackupdate.txt
set lastgenrepsave=%genrepsave3%
goto endsave

:save4
if %purge% ==P echo   ___________________________________________________________
if %purge% ==P echo,
if %purge% ==P echo   Purge de %lecteur%%repcible%%genrepsave4% en cours ... 
if %purge% ==P echo   ___________________________________________________________
if %purge% ==P rd "%lecteur%%repcible%%genrepsave4%" /s /q
if %purge% ==P md "%lecteur%%repcible%%genrepsave4%"
echo,
echo   ___________________________________________________________
echo,
echo   Sauvegarde vers %lecteur%%repcible%%genrepsave4%
echo   ___________________________________________________________
echo,
@ping 127.0.0.1 -n 4 -w 190000 > nul
xcopy "%source%" /s/y/d/e/v/h/i "%lecteur%%repcible%%genrepsave4%"
if errorlevel 1 goto warning
echo,
echo %date% %time% > "%lecteur%%repcible%%genrepsave4%\lastbackupdate.txt
set lastgenrepsave=%genrepsave4%
goto endsave

:save5
if %purge% ==P echo   ___________________________________________________________
if %purge% ==P echo,
if %purge% ==P echo   Purge de %lecteur%%repcible%%genrepsave5% en cours ... 
if %purge% ==P echo   ___________________________________________________________
if %purge% ==P rd "%lecteur%%repcible%%genrepsave5%" /s /q
if %purge% ==P md "%lecteur%%repcible%%genrepsave5%"
echo,
echo   ___________________________________________________________
echo,
echo   Sauvegarde vers %lecteur%%repcible%%genrepsave5%
echo   ___________________________________________________________
echo,
@ping 127.0.0.1 -n 4 -w 190000 > nul
xcopy "%source%" /s/y/d/e/v/h/i "%lecteur%%repcible%%genrepsave5%"
if errorlevel 1 goto warning
echo,
echo %date% %time% > "%lecteur%%repcible%%genrepsave5%\lastbackupdate.txt
set lastgenrepsave=%genrepsave5%
goto endsave

:save6
if %purge% ==P echo,
if %purge% ==P echo   ___________________________________________________________
if %purge% ==P echo,
if %purge% ==P echo   Purge de %lecteur%%repcible%%genrepsave6% en cours ... 
if %purge% ==P echo   ___________________________________________________________
if %purge% ==P rd "%lecteur%%repcible%%genrepsave6%" /s /q
if %purge% ==P md "%lecteur%%repcible%%genrepsave6%"
echo,
echo   ___________________________________________________________
echo,
echo   Sauvegarde vers %lecteur%%repcible%%genrepsave6%
echo   ___________________________________________________________
echo,
@ping 127.0.0.1 -n 4 -w 190000 > nul
xcopy "%source%" /s/y/d/e/v/h/i "%lecteur%%repcible%%genrepsave6%"
if errorlevel 1 goto warning
echo,
echo %date% %time% > "%lecteur%%repcible%%genrepsave6%\lastbackupdate.txt
set lastgenrepsave=%genrepsave6%
goto endsave

:endsave
if not errorlevel 1 goto Ok else if goto Warning

:warning
@echo 
@echo 
@echo 
cls
color 0c
echo,
echo, 
echo,
echo               ____________________________________
echo,
echo               ATTENTION ! Sauvegarde non faite !!!
echo               ____________________________________
echo,
echo,
echo,
pause
goto :fin

:ok
echo Fin de dernière sauvegarde   : %date% à %time% >> "%lecteur%Lastsavelog-6gen.txt"
echo, >> "%lecteur%Lastsavelog-6gen.txt"
echo Dernier répertoire utilisé   : %lecteur%%repcible%%lastgenrepsave% >> "%lecteur%Lastsavelog-6gen.txt"
@echo 
@echo 
color 0a
echo,         
echo                    ________________________
echo,
echo                    Sauvegarde effectu‚e ...
echo                    ________________________
echo,
pause
Rem **************************************************************************

Rem ************ Choix d'arrêt de la machine *******************

:sortie
mode con cols=63 lines=30
cls
echo,
echo, 
echo                    ________________________
echo,
echo                         Choix de sortie
echo                    ________________________
echo,
echo,
echo, 
echo                 1. D‚connecter %nomvrai%    
echo                 2. Effectuer une autre sauvegarde
echo                 3. Sortir du programme   
echo                 4. Arrˆter l'ordinateur
echo,
echo,
echo,
echo,
set leave=
(Set /P leave=                   Tapez 1,2,3,4 puis Entr‚e : )
Set Vrf=%leave:~,2% &if defined vrf Set leave=%leave:~,1%
if "%leave%" == "1" goto ejection
if "%leave%" == "2" goto debut
if "%leave%" == "3" goto fin
if "%leave%" == "4" goto stop
goto sortie

Rem ********** Module shutdown désactivé pour Windows 2000 ********

:stop
mode con cols=63 lines=25
cls
echo                ______________________________
echo,
echo                Arrˆt du systŠme en cours ...
echo                ______________________________
@ping 127.0.0.1 -n 2 -w 60000 > nul
@echo 
@ping 127.0.0.1 -n 2 -w 60000 > nul
@echo 
@ping 127.0.0.1 -n 2 -w 60000 > nul
@echo 
shutdown -s -t 0 -c "Arrˆt du systŠme en cours ..."
goto eof
Rem *********************************************************

:ejection
mode con cols=63 lines=15
cls
echo,
echo,
echo,
echo           ____________________________________________
echo,
echo           D‚connexion de %nomvrai% en cours ...
echo,
echo                       Veuillez patienter
echo           ____________________________________________
start "Ejection des périphériques" /HIGH /WAIT Usbejector.exe /Removeletter %lecteur%
Rem ***********************************************************************

:fin
mode con cols=63 lines=10
Rem *** Purge des fichiers intermédiaires ********
del volumes.txt
del drives.txt
del capa.txt
del charge.txt
del check.txt
del contenu.txt
del tri.txt
del mono.txt
del logfile.txt
del logtmp.txt
del logtri.txt
Rem **********************************************
cls
echo,
echo      Le programme de sauvegarde est en cours d'arrˆt ...
@ping 127.0.0.1 -n 2 -w 190000 > nul

Rem Fin de programme
Si certains sont interessés, qu'ils me demandent la note utilisateur. Je leur enverrai par Email