TexteTop
Communauté

Login Membres: 4136


Menu

Liens





flecheExemples

 

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.

 

f Script de sauvegardes

f Script de défragmentation

f Script de défragmentation réseau

f Cleaner: Nettoyage optimisation de pc

 


 

 

 

 

 

 

 

 

 

 

 

 

 

puceScript de sauvegardes

Ce script permet de faire des sauvegardes incrémentielles sur une machine distante appartenant au réseau.

 

 

dl

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

 

 

 

puceDéfragmenteur

Ce script permet de défragmenter vos disques durs les uns à la suite des autres en précisant le nom de vos lecteurs.

dl

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

 

 

puceDéfragmenteur réseau


Ce script permet de défragmenter des postes sur votre réseau, en les allumants si des utilisateurs les ont éteints.

dl



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

 

 

puceCleaner

Ce script sert à faire le ménage sur votre pc défrag + nettoyage de disque sur tout vos lecteurs.

dl

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
 

 

 

q Une question, une remarque, n'hésitez pas à visiter le forum