Communauté |
|
Membres: 5719
|
|
Menu |
|
|
Liens |
|
|
|
|
Exemples
Dans cette dernière section vous pourrez trouver des exemples de scripts ayant diverses utilités, qui utilisent les éléments vu sur le site. Si certaines parties vous échappent non pas que les scripts soient très compliqués, référez-vous aux sections pour comprendre le fonctionnement.
Script de sauvegardes
Script de défragmentation
Script de défragmentation réseau
Cleaner: Nettoyage optimisation de pc
Script de sauvegardes
Ce script permet de faire des
sauvegardes incrémentielles sur une machine distante appartenant au réseau.
rem désactive laffichage des commandes
@ echo off
rem /////////////////////////Début Région Modifiable////////////////////////////
rem nom du serveur à synchroniser
set srv=\\ZEUS
rem définition du répertoire de log, le nom de fichier correspondra au jour mois et
rem année
set log=c:\log\
%DATE:~6,4%%DATE:~3,2%%DATE:~0,2%.txt
rem défint ion du répertoire locale source de la copie
set source=D:\sauvegardes
rem définition du répertoire locale destination de la copie
set dest1=
%srv%\partages\sauvegardes
rem /////////////////////////Fin Région Modifiable//////////////////////////////
rem permet de mettre à blanc l'écran
cls
rem change la couleur texte + fond (3+a) ici fond noir texte vert
color 0a
rem nom de la fenêtre MS-DOS
title Sauvegarde de
%computername% vers
%srv%
rem test de présence du serveur
echo %srv%>temp.txt
for /F
%%i IN (temp.txt
) DO (PING -n 2 -w 4
%%i | FIND "TTL="
>NUL
IF NOT ERRORLEVEL 1
goto ok
)
goto non
:
non
set msg=Le serveur
%srv% ne répond pas, pas de sauvegarde possible
goto fin
:
ok
rem compteur de temps de traitements
set debhour=
%time:~0,2%
set debmin=
%time:~3,2%
set debsec=
%time:~6,2%
rem ////////////////////////////////////////////////////////////////////////////
echo -------------------------------------------------------------
>> %log%
echo Rapport de la sauvegarde de
%computername% du
%date% à
%time% >> %log%
echo -------------------------------------------------------------
>> %log%
cls
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo º Synchronisation de lhorloge avec le serveur en cours patientez... º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
net time
%srv% /
set /yes
rem ////////////////////////////////////////////////////////////////////////////
cls
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo º Synchronisation des fichiers sur le serveur en cours patientez... º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
rem copie tous les fichiers et répertoire source dans le répertoire destination en ne
rem copiant que les fichiers qui ont été modifiés, en se basant sur la date de
rem création de fichier ce qui explique la synchronisation des horloges au-dessus.
rem Le tout est évidemment envoyée dans un fichier de log.
xcopy /y
%source%\*.*
%dest1%\ /d /s /e /f
>> %log%
cls
rem ////////////////////////////////////////////////////////////////////////////
rem fin défint ion du point de fin de traitement
set finhour=
%time:~0,2%
set finmin=
%time:~3,2%
set finsec=
%time:~6,2%
rem calcul du temp de traitement
set /a hour=
%finhour% -
%debhour%
set /a min=
%finmin% -
%debmin%
set /a sec=
%finsec% -
%debsec%
echo ---------------Traitement en
%hour%h
%min%m
%sec%s------------------------
>> %log%
rem ////////////////////////////////////////////////////////////////////////////
set msg=La sauvegarde de
%computername% le
%date% à
%time% en
%hour%h
%min%m
%sec%s Ok
:
fin
@net start messenger
net send
%computername% "
%msg%"
@net stop messenger
rem lancement du fichier de log
%log%
del temp.txt
Défragmenteur
Ce script permet de
défragmenter vos disques durs les uns à la suite des autres en précisant le nom de vos
lecteurs.
del temp.txt
echo off
rem change la couleur texte + fond (3+a)
color 0a
rem active l'affichage du texte
rem ///////////////////Début de la région modifiable////////////////////////////
rem définition des partitions à défragmenter
echo c:
>> temp.txt
echo d:
>> temp.txt
echo e:
>> temp.txt
rem echo e: >> temp.txt
rem echo e: >> temp.txt
rem echo e: >> temp.txt
rem ech oe: >> temp.txt
rem /////////////////////Fin de la région modifiable////////////////////////////
rem défragmenter les lecteurs se trouvant dans le fichier temp.txt
FOR /f
%%i in (temp.txt
) do (
cls
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo º Défragmentation du
%%i º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
defrag
%%i -f
)
del temp.txt
pause
Défragmenteur réseau
Ce script permet de
défragmenter des postes sur votre réseau, en les allumants si des utilisateurs les ont éteints.
rem /////////////////////////////ATTENTION//////////////////////////////////////
rem Ce script fonctionne uniquement si les utilitaires PSEXEC.exe, WOL.exe sont
rem Présents dans un répertoire spécifié
rem /////////////////////////////ATTENTION//////////////////////////////////////
rem /////////////////////////////Fonctionalité de script////////////////////////
rem Le script permet de défragmenter une liste de poste sur un réseau, en allumant
rem les machines eteinte afin de pouvoir faire la défragmentation. Ensuite si,
rem cette dernière "tait allum"e il l'éteint pour qu elle retourne dans son
rem état initial.
rem /////////////////////////////Fonctionalité de script////////////////////////
@ echo off
cls
rem |||||||||||||||||||||||définition des variables|||||||||||||||||||||||||||||
rem demande du nom de pc à traiter
set /p pc=Entrez le nom du poste distant ?
(sans slash, respectez la casse
)
set up=0
set date=
%DATE:~6,4%%DATE:~3,2%%DATE:~0,2%
rem |||||||||||||||||||||||définition des variables|||||||||||||||||||||||||||||
rem ///////////////// début Région Modifiable///////////////////////////////////
rem définition du fichier ou sera enregistré les logs (pas de slash à la fin de la ligne)
set log=\monserver\defrag\log\
%date%.log
rem Le script fait appel à un fichier .csv externe qui possede par ligne le nom
rem l ip et l adresse MAC de tous les poste ayant été connectée au réseau.
rem Le fichier .csv doit etre exporté depuis un serveur DHCP dans la section
rem lease avec un clic droit option exporté au format .csv, avec donc les
rem virgules en séparateurs.
set cvs=\monserver\defrag\list.csv
rem definition du répertoire où sont situées les programmes externes (wol.exe,psexec.exe)
set pgrm=\monserver\defrag\defrag
rem définition d un répertoire temporaire accecible en écriture
set tmp=\monserver\defrag\
rem //////////////// fin Region Modifiable//////////////////////////////////////
echo _________________________________________________________
>> %log%
echo ------------------------------------
>> %log%
echo Rapport de la tâche de
%computername% du
%date% à
%time% >> %log%
echo ------------------------------------
>> %log%
echo _______________________________________________________
>> %log%
rem ----------------------------------------------------------------------------
rem -------------------- Début test présence PC --------------------------------
rem ----------------------------------------------------------------------------
rem si la machine répond au ping alors passer la variable up à 1, sinon la laisser à 0
cd \
echo %pc%>temp.txt
for /F
%%i IN (temp.txt
) DO (PING -n 2 -w 4
%%i | FIND "TTL="
>NUL
IF NOT ERRORLEVEL 1
goto ok
)
goto non
:
non
echo %pc% éteint
>> %log%
goto fin
:
ok
echo %pc% deja allumé
>> %log%
set up=1
:
fin
del temp.txt
rem ----------------------------------------------------------------------------
rem ---------------------- FIN test présence PC --------------------------------
rem ----------------------------------------------------------------------------
rem ----------------------------------------------------------------------------
rem -------------------- Début allumage du pc si éteint -------------------------
rem ----------------------------------------------------------------------------
if "
%up%"=="0"
goto exec
goto fin2
:
exec
rem cree un fichier avec la ligne correspondante au nom du pc
find "
%pc%."
%cvs% > %tmp%\mac.txt
rem dans ligne prédement séléctionner extraction de la colonne correspondant à
rem l adresse MAC et execution du Wake On Lan sur le réseau. Cette commande est
rem à adapter en fonction de votre fichier csv
FOR /f "tokens=5 delims=,"
%%i in (%tmp%\mac.txt
) do %pgrm%\wol.exe
%%i
echo %pc% démarrer
>> %log%
:
fin2
rem ----------------------------------------------------------------------------
rem -------------------- Fin allumage du pc si éteint --------------------------
rem ----------------------------------------------------------------------------
rem ----------------------------------------------------------------------------
rem --------------------------- Temporisation ----------------------------------
rem ----------------------------------------------------------------------------
rem temporistation pour attendre démarrage de l OS
:
boucle
set /a count = count + 1
if %count%==30000
goto finboucle
goto boucle
:
finboucle
rem ----------------------------------------------------------------------------
rem --------------------------- Fin Temporisation ------------------------------
rem ----------------------------------------------------------------------------
rem ----------------------------------------------------------------------------
rem ---------------- Début défragmentation -------------------------------------
rem ----------------------------------------------------------------------------
rem défragmentation avec le logiciel psexec.exe
%pgrm%\psexec.exe \
%pc% defrag c:
>> %log%
rem ----------------------------------------------------------------------------
rem ---------------------- Fin défragmentation ---------------------------------
rem ----------------------------------------------------------------------------
rem ----------------------------------------------------------------------------
rem --------------- Début extinction du pc si anciennement éteint----------------
rem ----------------------------------------------------------------------------
if "
%up%"=="0"
goto exec2
goto fin3
:
exec2
shutdown -s -m \
%pc%
echo %pc% extinction
>> %log%
:
fin3
rem ----------------------------------------------------------------------------
rem --------------- Fin extinction du pc si anciennement éteint----------------
rem ----------------------------------------------------------------------------
pause
Cleaner
Ce script sert à faire le ménage sur votre pc défrag + nettoyage de disque sur tout vos lecteurs.
echo off
cls
title Cleaner
! v1.2
rem définintions des chemins des fichiers de configuration
set log=c:\windows\rapport.txt
set conf=c:\windows\confhdd
del %log%
if exist %conf%.txt
goto skip
rem scan des disques durs
echo 1
> c:\temp.txt
echo 1
> d:\temp.txt
echo 1
> e:\temp.txt
echo 1
> f:\temp.txt
echo 1
> g:\temp.txt
echo 1
> h:\temp.txt
echo 1
> i:\temp.txt
if exist c:\temp.txt
echo c
>> %conf%.txt
if exist d:\temp.txt
echo d
>> %conf%.txt
if exist e:\temp.txt
echo e
>> %conf%.txt
if exist f:\temp.txt
echo f
>> %conf%.txt
if exist g:\temp.txt
echo g
>> %conf%.txt
if exist h:\temp.txt
echo h
>> %conf%.txt
if exist i:\temp.txt
echo i
>> %conf%.txt
if exist c:\temp.txt
echo c:
>> %conf%2.txt
if exist d:\temp.txt
echo d:
>> %conf%2.txt
if exist e:\temp.txt
echo e:
>> %conf%2.txt
if exist f:\temp.txt
echo f:
>> %conf%2.txt
if exist g:\temp.txt
echo g:
>> %conf%2.txt
if exist h:\temp.txt
echo h:
>> %conf%2.txt
if exist i:\temp.txt
echo i:
>> %conf%2.txt
del c:\temp.txt
del d:\temp.txt
del e:\temp.txt
del f:\temp.txt
del g:\temp.txt
del h:\temp.txt
del i:\temp.txt
:
skip
rem log
color 0e
echo CLEANER: Rapport
>>%log%
echo.
>>%log%
echo.
>>%log%
echo.
>>%log%
echo _________________________________________________________________________
>> %log%
echo Drives:
>> %log%
more
%conf%2.txt
>> %log%
echo _________________________________________________________________________
>> %log%
if not exist c:\windows\confclean.txt
goto set
goto run
:
set
color 0a
cls
echo CLEANER Configuration
echo.
echo.
FOR /f "tokens=1 delims=,"
%%i in (%conf%.txt
) do cleanmgr.exe /d
%%i /sageset: 1
echo 1
> c:\windows\confclean.txt
:
run
color 0b
cls
echo CLEANER: Hard Drive Cleaning
echo.
echo.
echo Nettoyage des disques dur en cours...
cleanmgr.exe /dc /sagerun: 1
echo.
>>%log%
echo.
>>%log%
rem defrag
cls
color 0c
echo CLEANER: Hard Drive Defragmenting
echo.
echo.
FOR /f "tokens=1 delims=,"
%%i in (%conf%2.txt
) do (
echo.
>>%log%
echo.
>>%log%
echo.
>>%log%
echo _________________________________________________________________________
>> %log%
echo Défragmmentation de
%%i >> %log%
echo _________________________________________________________________________
>> %log%
echo Défragmentation du disque
%%i en cours...
defrag
%%i /f
>> %log%
echo.
>>%log%
echo.
>>%log%
)
rem rapport
cls
more
%log%
pause
Une question, une remarque, n'hésitez pas à visiter le forum
|