+yann | Salut,
J'ai reussi a faire un script en me basant sur un autre script, mais je comprend pas certaines lignes.
Voici le script :
Code :
- REM #----------------- CONFIGURATION -----------------------
- REM # Saisissez ici le dossiers dans lequel vous voulez copier les sauvegardes
- SET DOSSIER= "F:\sauvegardes"
- REM #--------------- FIN CONFIGURATION ---------------------
- REM #Ligne separant chaque lancement du script
- ECHO.
- ECHO --------------------------le %DATE:~5,2%/%DATE:~8,2%/%DATE:~11,4%------------------------------
- REM #Lecture du nom des machines dans le fichier %Fichier% ***
- FOR /F %%i IN (%1) Do call :INSTALLATION %%i
- GOTO FIN
- REM #Declaration des variables
- :INSTALLATION
- SET Machine=%1
- SET Compteur=0
- REM #Execute la commande ping
- FOR /F "tokens=1" %%i IN ('ping %Machine%') DO call :TestPing %%i
- GOTO TestPingSuite
- REM #Teste si les mot Délai ou Hôte sont contenu dans les lignes générées par la commande ping comme premier mot.
- REM #Si oui, alors on incremente le compteur Compteur
- :TestPing
- set ChainePing=%1
- REM #Recherche les messages d'erreurs francais (OS Francais)
- IF %ChainePing%Chaine==DlaiChaine set /a Compteur=%Compteur%+1
- IF %ChainePing%Chaine==HteChaine set /a Compteur=%Compteur%+1
- IF %ChainePing%Chaine==MauvaiseChaine set /a Compteur=%Compteur%+1
- GOTO FIN
- REM #A la fin du for /F on entre dans ce test. Si le compteur = 0 alors le ping est bon
- :TestPingSuite
- if %Compteur%==0 GOTO PingOK
- GOTO NoPing
- REM #On affiche un message comme quoi le poste ne repond pas au ping
- :NoPing
- ECHO %TIME:~0,2%h%TIME:~3,2%m%TIME:~6,2%s - La machine %Machine% est introuvable
- GOTO FIN
- REM #On sauvegarde les fichiers puis on éteint la machine
- :PingOK
- ECHO %TIME:~0,2%h%TIME:~3,2%m%TIME:~6,2%s - Sauvegarde de la machine %Machine% en cour
- xcopy \\%Machine%\partage-v\ %DOSSIER%\%Machine% /s /e /v /y /d /I /c /o /k /q
- ECHO %TIME:~0,2%h%TIME:~3,2%m%TIME:~6,2%s - Demande d'arret de la machine %Machine%
- psshutdown \\%Machine% -k -f -c -t 15 -m "Arret quotidien automatique : sauvegardez votre travail rapidement."
- GOTO FIN
- :FIN
|
Je ne comprend pas les lignes FOR /F %%i IN (%1) Do call :INSTALLATION %%i
et FOR /F "tokens=1" %%i IN ('ping %Machine%') DO call :TestPing %%i
set ChainePing=%1
A quoi correspondent les % ?
Merci d'avance pour votre aide
Yann
|