Bonjour à tous,

Je suis actuellement étudiant dans une entreprise et celle-ci me demande de mettre en oeuvre un script permettant d'archiver des données vers un emplacement réseaux. De plus je débute dans le scripting.
J'ai plusieurs contrainte pour ce script, la plupart vont être résolu via le planificateur de tâche de Windows (par exemple la fréquence de temps ainsi que le login permettant de se connecter à l'emplacement réseaux).

Voici la liste des différentes étapes de mon script:
- Test de la connectivité de l'emplacement réseaux
- Tester si l'emplacement de destination est disponible
- Archivage des données avec logs (checksum si possible mais je ne trouve pas de moyen)
- Logs du script.

* Le problème que je rencontre actuellement, est que mon script ne se ferme pas et je pense boucle sur le ping (le processus PING.exe fonctionne en permanence une fois le script éxécuté) et je ne trouve pas de moyen d'effectuer un checksum.

SCRIPT DE PARAMETRAGE
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
@echo off

Rem ----------------------------------- 
:: NOM DU SERVEUR 
set SRV=...


Rem ----------------------------------- 
:: Répertoire Source à archiver
set SOURCE=...


Rem ----------------------------------- 
:: Répertoire de destination de l'archive
set DESTINATION=\\...


Rem ----------------------------------- 
:: Répertoire ou ce situront les logs 
set LOG=\\...


Rem ----------------------------------- 
:: Emplacement ou je souhaite que les dossiers de destination soit créés ou où ils se situent actuellement
set EXISTDEST="\\...
SCRIPT_DARCHIVAGE
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
@ECHO OFF 

Rem ----------------------------------- 
:: Appelle le fichier de parametrage
call SETUP_V2.bat 

Rem ----------------------------------- 
:: Affiche le nom de la fenetre désiré 
TITLE Script Archivage de donnees de %computername% vers %SRV%

ECHO Test la connexion... 

Rem ----------------------------------- 
:: On Ping google.fr pendant 5secondes 
PING %SRV% -n 1 > NUL 

Rem ----------------------------------- 
:: Si errorlevel vaut 0 alors tout et OK 
IF %ERRORLEVEL% == 0 ( 
   CLS 
   ECHO Informations : 
   ECHO Site     - %SRV% 
   ECHO Etats    - [OK] 
   ECHO Internet - [OUI] 
) 
GOTO TESTREP

Rem ----------------------------------- 
:: Si errorlevel vaut 1 alors tout et NUL 
IF %ERRORLEVEL% == 1 ( 
   CLS 
   ECHO Informations : 
   ECHO Site     - %SRV%
   ECHO Etats    - [NUL] 
   ECHO Internet - [NON] 
) 
GOTO END

rem ----------------------------------
:: test existance destination
:TESTREP
if exist %EXISTDEST% echo Dossier  - [REPERTOIRE EXISTANT] & goto COPY
echo Dossier  - [REPERTOIRE CREER] 
mkdir %EXISTDEST%
Te

:COPY
rem ----------------------------------
:: robocopy  --> infos http://www.tutos.eu/vault/Robocopy.pdf?PHPSESSID
:: /E = Indique qu'il faut copier les sous-répertoires, même les vides
:: /MIR = Mode mirroir. La cible sera à l'identique de la source. Cad que si la cible contient des données en plus, elles seront effacées.
:: /DCOPY:T = L'outil prends soin de recopier les différentes dates des répertoires,comme celle de création, de modification etc ...
:: /COPYALL = Copie toutes les infos de fichier, cad les dates, propriétaires, droits,information d'audit etc ...
:: /TIMFIX = L'outil prend soin de vérifier les différentes dates des fichiers. Sans cela, il ne reporte que les dates des fichiers qu'il a lui même copié par lui même,
:: cad que sans cela, si le fichier cible était déjà présent, les infos d'horodatages seraient ignorées.
:: /XD"System Volume Information" = On exclu le répertoires nommé "System Volume Information"qui est un répertoire système que l'on a pas d'intérêt à copier et qui peut en plus générer des erreurs.
:: /R:0 /W:0 = Pas de seconde tentative de copie en cas d'échec ni de temps d'attente entre 2 tentatives. En général quand cela ne veut pas, on n'insiste pas et on
:: repasse une seconde couche de Robocopy après avoir analysé le log et corrigé les problèmes.
:: /XF "pagefile.sys" = On exclu le fichier qui contient la « mémoire virtuelle », il ne présente donc pas d'intérêt sans compter le fait qu'il peut être très volumineux.
:: /LOG+:"C:\RobocopyLogFile.txt" =  On indique l'emplacement du fichier de log de la copie. Si il existe déjà, on le complète.
:: /NP = Pas d'affichage de compteur de progression. Cela parasite la lecture du fichier de log.
robocopy "%SOURCE%" "%DESTINATION%" /E /MIR /DCOPY:T /COPYALL /TIMFIX /R:0 /W:0 /XD "System Volume Information" /XF "pagefile.sys" /NP 

goto END




:END
rem ----------------------------------
:: log
SCRIPT_V2.bat>>log.txt

exit
Merci d'avance pour avoir la patience de lire tout celà!

Cdlt,