atelier systeme (1) ferchichi abdelwaheb
TRANSCRIPT
Faculté des Sciences Economiques et de Gestion de Nabeul
Année Universitaire : 2015 / 2016Classe : 1LF IAG
ATELIER DE SYSTÈME D’EXPLOITATION I
ATELIER SYSTÈME D’EXPLOITATION2
PLANIntroduction1
Editeur MS-DOS3
La programmation Batch4
Les commandes MS-DOS 2
ATELIER SYSTÈME D’EXPLOITATION3
INTRODUCTION
ATELIER SYSTÈME D’EXPLOITATION4
Système d’exploitation
• Définition : programme assurant la gestion de l'ordinateur et de ses périphériques. Il sert d'interface entre l'utilisateur et le matériel.Rq : on utilise souvent l’acronyme OS pour "Operating System"
• Exemple : Windows, Unix, Mac OS, Be OS, MS-DOS…
Matériel Système d'exploitatio
nUtilisateur(s)
ATELIER SYSTÈME D’EXPLOITATION5
Historique du MS-DOS(1/5)Paul ALLEN et Bill GATES achètent le « DOS » et les droits d’exploitation à Seattle Computer suite à une commande d’IBM qui cherchait un système d’exploitation pouvant être fourni avec ses ordinateurs de type « 8086 ».
- Aout 1981 : Version 1.0 (disquette 5 pouces ¼ simple face : 160Ko)
- 1982 : Version 1.24 et 1.25 (disquette double face gérées : 360Ko)
ATELIER SYSTÈME D’EXPLOITATION6
- 1983 : Version 2.0 (disques durs gérés : 10Mo)
- 1984 : Version 3.0 (disques durs : 40Mo, disquettes :1.2Mo) et Version 3.1 (gestion des premiers réseaux locaux)
- 1985 : Windows 1.0 (indépendamment du « DOS »), concept d’interface graphique
- 1986 : Version 3.2 (support disquettes 3 pouces ½)
- 1987 : Version 3.3 (plus de commandes, disques durs : 128Mo, disquettes 3 pouces ½ : 1.44Mo)
Historique du MS-DOS(2/5)
ATELIER SYSTÈME D’EXPLOITATION7
- 1988 : Version 4.0 (disponibilité de Windows 2.0 … procès avec Apple)- 1991 : Version 5.0 (gestion optimisée de la mémoire; disponibilité de Windows 3.0)
- 1993 : Version 6.0, dernière révision majeure du « DOS » … pas de version 7.0 (deux mois après, sortie de Windows NT 3.1 basé sur noyau 32 bit)
- 1994 : Version 6.22, révision mineure, ajout utilitaire de compression de disque « DriveSpace »
Historique du MS-DOS(3/5)
ATELIER SYSTÈME D’EXPLOITATION8
- 1995 : Windows 95, le « DOS » n’est plus distribué qu’avec Windows. Possibilité de démarrage en « mode DOS ».
- 1997 : Windows 95 version OSR 2.1 supporte l’USB et les cartes graphiques utilisant le bus AGP.
- 1998 : Windows 98
- 1999 : Windows 98 SE
- 2000 : Millenium, basé sur Windows 95, « DOS » n’est plus accessible en mode réel
Historique du MS-DOS(4/5)
ATELIER SYSTÈME D’EXPLOITATION9
- 2000 : Windows 2000, successeur de Windows NT, support du PnP, USB,
DirectX …
Le noyau 32 bit de Windows est désormais prêt pour le grand public … la gamme Windows 95/98/Millenium
peut s’éteindre et la prochaine version de Windows pour les particuliers sera
basée sur Windows 2000 et s’appellera Windows XP. Ils ne possèdent plus de
« DOS » en mode dit « réel ».
Historique du MS-DOS(5/5)
ATELIER SYSTÈME D’EXPLOITATION10
Invite de commandes(1/6)
ATELIER SYSTÈME D’EXPLOITATION11
Invite de commandes(2/6)
ATELIER SYSTÈME D’EXPLOITATION12
Invite de commandes(3/6)
ATELIER SYSTÈME D’EXPLOITATION13
Invite de commandes(4/6)
ATELIER SYSTÈME D’EXPLOITATION14
Invite de commandes(5/6)
ATELIER SYSTÈME D’EXPLOITATION15
Invite de commandes(6/6)
ATELIER SYSTÈME D’EXPLOITATION16
Une autre façon(1/5)
ATELIER SYSTÈME D’EXPLOITATION17
Une autre façon(2/5)
ATELIER SYSTÈME D’EXPLOITATION18
Une autre façon(3/5)
ATELIER SYSTÈME D’EXPLOITATION19
Une autre façon(4/5)
ATELIER SYSTÈME D’EXPLOITATION20
Une autre façon(5/5)
ATELIER SYSTÈME D’EXPLOITATION21
LES COMMANDES MS-DOS
ATELIER SYSTÈME D’EXPLOITATION22
Pour passer à un autre lecteur de disque:Saisir la lettre de lecteur («A», «C», «D», etc), suivi par deux points («:»); Appuyez sur la touche « Entrée ».
Changer de lecteur(1/2)
ATELIER SYSTÈME D’EXPLOITATION23
Le prompt DOS devrait ressembler à ce qui suit :
Le lecteur « A: » est maintenant le lecteur par défaut.
Changer de lecteur(2/2)
ATELIER SYSTÈME D’EXPLOITATION24
24
• Se déplacer vers le répertoire parent du répertoire courant en tapant ce qui suit:
C:\CLASSES\GROUPES> CD ..
Le repertoire C:\CLASSES devient le répertoire courant
.. Point Point
ATELIER SYSTÈME D’EXPLOITATION25
Qu'est-ce qu'un répertoire?Comment pouvons-nous regarder ce qui est sur le
disque? ou Comment lister les fichiers qui se trouvent dans
un répertoire?
Utilisez la commande DIR
La commande DIR
ATELIER SYSTÈME D’EXPLOITATION26
Pour chaque fichier– Nom du fichier– Extension du fichier– Taille de fichier(en octets)– Date du fichier(création ou
dernière modification)– Temps du fichier(création ou
dernière modification)
En bas– # Fichiers– Octets
utilisés– # de
répertoires– Octets
disponibles
En haut– Nom du
volume– Numéro de
série– Lecteur (et
répertoires)
La commande DIR « Affichage »
ATELIER SYSTÈME D’EXPLOITATION27
• /P Arrêt après l’affichage d’un écran d’informations.• /Q Affiche le propriétaire du fichier.• /W Affichage sur cinq colonnes (Wide).• /X Affiche les noms courts générés pour les noms de
fichier non 8.3 car.
La commande DIR « Options »
ATELIER SYSTÈME D’EXPLOITATION28
• Changer l’ordre de tri– /O - alphabétique par le nom puis l’extension du fichier– /ON - alphabétique par le nom du fichier– /OE - alphabétique par ‘extension du fichier– /OEN - alphabétique par l’extension puis le nom du fichier– /OD - par la date et l’heure – /OS - par la taille
La commande DIR « Options de tri»
ATELIER SYSTÈME D’EXPLOITATION29
• Vous pouvez inverser l'ordre du paramètre optionnel de l’ordre de tri;
• Si vous mettez un tiret "-" devant le paramètre optionnel, l'ordre est inversé..
• Exemples:– A:\>DIR /OE A:\>DIR /O-E– A:\>DIR /OS A:\>DIR /O-S
Changer l’ordre de tri
ATELIER SYSTÈME D’EXPLOITATION30
• La commande DIR sans paramètres, liste le contenu du répertoire (ou lecteur) courant;
• Il ya 2 caractères génériques qui vous permettent de sélectionner les fichiers à être listés;
• ? Remplace un seul caractère;
• * Remplace zéro ou n caractères;
Les caractères génériques
ATELIER SYSTÈME D’EXPLOITATION31
• DIR lister le contenu du répertoire courant• DIR PA* lister tous les fichiers dont le nom commence
par « PA »• DIR *T lister tous les fichiers dont le nom se termine par «
T »• DIR A*LS lister tous les fichiers dont le nom commence par
‘A’ et se termine par « LS »• DIR *.PPT lister tous les fichier avec l’extension .PPT• DIR *T.* lister tous les fichiers dont la dernière lettre de
leurs noms (et non l’extension) est « T »
Le caractère générique « * »
ATELIER SYSTÈME D’EXPLOITATION32
• Le ? remplace un seule caractère DIR PALETTE???.BMP liste tous les fichiers qui commencent par ‘PALETTE’, ensuite 3 caractères quelconques, et enfin ‘BMP’
• DIR “PALETTE ??.BMP” liste tous les fichiers qui commencent par ‘Palette[espace]’, ensuite 2 caractères quelconques, et enfin ‘BMP’.
• Que se passe t’il si on élimine les deux quotes?
Le caractère générique « ? »
ATELIER SYSTÈME D’EXPLOITATION33
33
• Aussi appelés dossiers;
• Agissent comme des conteneurs pour les fichiers et les autres
répertoires;
• Le répertoire est un type de fichier spécial qui contient des
informations sur les fichiers et répertoires qu'il contient;
• Les répertoires fournissent un moyen d'organiser fichiers
nombreux stockés sur un disque dur;
Les répertoires
ATELIER SYSTÈME D’EXPLOITATION34
34
• Le répertoire racine est le premier répertoire créé;
• Il est créé automatiquement lorsque le disque est initialisé
ou formaté. Le formatage d'un disque est la seule façon de
créer le répertoire racine;
• Il est désigné par un symbole antislash \.
Le répertoire « racine »
ATELIER SYSTÈME D’EXPLOITATION35
35
• Un sous-répertoire est un répertoire contenu dans, ou «en dessous» d’un autre répertoire;
• Il est subordonné à un autre répertoire ou dossier;• Cela permet la création d'une arborescence de
répertoires sur un disque dur.
Exemple:C: \Programmes\JAVA>« JAVA » est un sous-répertoire du répertoire «Programmes »
Le sous-répertoire
ATELIER SYSTÈME D’EXPLOITATION36
36
• Un répertoire contenant, ou « au-dessus » d’un autre répertoire est appelé un « répertoire parent ».
• Exemple:C: \Programmes\JAVA>« Programmes » est un le répertoire parent de «JAVA »
Le répertoire « parent »
ATELIER SYSTÈME D’EXPLOITATION37
37
•Une notation qui identifie l'emplacement exact d'un répertoire ou d'un fichier sur le disque;•Le chemin complet comprend les éléments suivants pour un répertoire ou un fichier sur un disque:oLe lecteur,oUne Séquence de nom de répertoire (s) séparées par des antislashs '\‘ ,oNom du répertoire ou du fichierEXEMPLE: C:\programs\COBOL\Prog1.txt
Le chemin d’accès complet
ATELIER SYSTÈME D’EXPLOITATION38
38
• La commande pour créer un répertoire est MD ou MKDIR;• La syntaxe est:
MD [lecteur:] [chemin] nom de répertoire• Exemples :
o Créez un répertoire à la racine de c:\ appelés «programmes » C: \> MD Programmes
MD « Make Directory »
ATELIER SYSTÈME D’EXPLOITATION39
39
• Créez un sous-répertoire nommé NABEUL dans un autre répertoire appelé VILLES
C: \> MD VILLES \ NABEUL • Créez un sous-répertoire nommé GABES dans un autre
répertoire appelé VILLES C: \> MD VILLES \ GABES• Créez un sous-répertoire nommé TATAOUINE dans un
autre répertoire appelé VILLES C: \VILLES> MD TATAOUINE Quelles est la différence?
MD et les sous-répertoires
ATELIER SYSTÈME D’EXPLOITATION40
40
• La commande pour changer le répertoire courant par un autre répertoire est la commande de CD;
• La syntaxe est: CD [lecteur:] [chemin] nom de répertoire
CD « Change Directory »
ATELIER SYSTÈME D’EXPLOITATION41
41
• Passez à un répertoire sur le lecteur C appelé programmesC: \> CD Programmes
• Changer vers un sous-répertoire nommé SOUSSE qui est sous le répertoire VILLES sur le lecteur C
C:\>CD VILLES\SOUSSED:\>CD C:\ VILLES\SOUSSE ???
• Allez dans le répertoire racine du lecteur C
C:\ VILLES\SOUSSE > CD \
CD-Exemples
ATELIER SYSTÈME D’EXPLOITATION42
42
Syntaxe:•Renommer un répertoire ou déplacer un répertoire MOVE [lecteur:][chemin]repsource repdestination•Couper un fichier MOVE [lecteur:][chemin]fichier repdestination
Exemples: C:\> MD TP1 C:\> MOVE TP1 TP2 Renommer TP1 en TP2 C:\> MD TP3 C:\> MOVE TP3 TP2 Déplacer TP3 vers TP2 C:\> MOVE test.txt TP2 Déplacer test.txt vers TP2 C:\> MOVE *.txt TP2 Utiliser un caractère générique pour déplacer tous les fichiers texte vers le répertoire TP2
MOVE
ATELIER SYSTÈME D’EXPLOITATION43
43
Syntaxe: COPY source [destination]
Exemples:C:\>COPY fich1.txt fich2.txt Si le nouveau fichier est créé dans le même répertoire que le fichier ancien, le nouveau fichier doit avoir un nom différent
C:\>COPY fich1.txt rep1\fich2.txt C:\>COPY 1LFIAG*.txt 1LAIAG\1LFIAG*.txt
Copier un ensemble de fichiers en utilisant un caractère générique
COPY
ATELIER SYSTÈME D’EXPLOITATION44
44
• Syntaxe:RENAME [lecteur:][chemin]fichier1 fichier2
OUREN [lecteur:][chemin]fichier1 fichier2
• Exemples:C:\>REN 1LFIAG1.TXT 1LFIAG2.TXTC:\>REN CLASSES\1LFIAG1.TXT 1LFIAG2.TXT
• RemarquePlusieurs fichiers peuvent être renommés en utilisant des caractère génériques :C:\>REN 2012*.TXT 2013*.TXT
Notez qu'il n’existe pas de lecteur ou chemin pour fichier2
Renommer un fichier
ATELIER SYSTÈME D’EXPLOITATION45
45
Syntaxe: DEL fichier
Exemples:C:\>DEL 1LFIAG1.TXTC:\>DEL C:\CLASSES\1LFIAG7.TXT
NOTE: Les caractères génériques peuvent être utilisés pour supprimer un ensemble de
fichier, mais cette manipulation est EXTREMEMENT dangereuse
Supprimer un fichier
C:\>DEL /P 1LFIAG1.TXT Forcer la demande de confirmation de suppression
ATELIER SYSTÈME D’EXPLOITATION46
46
• La commande TREE affiche l’arborescence d’un répertoire• Une arborescence est une représentation schématique de
la structure d’un répertoire, d'un disque dur ou de tout autre support
• Syntaxe:TREE [lecteur:][chemin]
• Exemples:C:\>TREE C:\>TREE CLASSESC:\>TREE C:\CLASSES\GROUPES
TREE
ATELIER SYSTÈME D’EXPLOITATION47
47
• La commande TREE a deux options qui peuvent être utilisées dans l'affichage :/F ajoute les noms de fichiers à la liste des
répertoires/A affiche un autre format
Exemple: C:\>TREE /F /A
TREE « Options »
ATELIER SYSTÈME D’EXPLOITATION48
48
•Vous pouvez utiliser la commande XCOPY pour copier tous les fichiers du répertoire spécifié et (éventuellement) l'ensemble de ses sous-répertoires sur un autre disque et / ou répertoire.
XCOPY source [destination] [/S] [/M] [/A]
Exemple: XCOPY 1LFIAG C:\
Cette commande copie le contenu du répertoire 1LFIAG à la racine de C:.
XCOPY
ATELIER SYSTÈME D’EXPLOITATION49
49
• L’option /S permet à XCOPY de copier les répertoires et sous-répertoires à l'exception des répertoires spécifiés .
Exemple:
XCOPY /S 1LFIAG C:
Cette commande copie le contenue du répertoire 1LFIAG et tous ses sous-répertoires (s’ils ne sont pas vides) à la racine de C:.
XCOPY /S
ATELIER SYSTÈME D’EXPLOITATION50
50
• L’option /M Copie uniquement les fichiers ayant l'attribut archive puis désactive l'attribut archive.
•L’option /A Copie uniquement les fichiers ayant l'attribut archive mais ne modifie pas l'attribut archive.
Autres options de XCOPY
ATELIER SYSTÈME D’EXPLOITATION51
•La sortie des commandes MS-DOS est généralement dirigée vers l’écran.
•La sortie des commandes MS-DOS peut être aussi redirigée vers un fichier en utilisant l’opérateur de redirection > (Supérieure à)
Les redirections
ATELIER SYSTÈME D’EXPLOITATION52
Syntaxe:[commande] > nom_du_fichier
Exemple:dir > fich1.txt
Remarque:• Si le fichier existe déjà, il sera écrasé;•Au lieu d’écraser le fichier, les données peuvent être ajoutées à la fin du fichier existant.Syntaxe:
[commande] >> nom_du_fichierExemple:
dir 1LFIAG >> fich1.txt
Symbole de redirection
Les redirections « syntaxe »
ATELIER SYSTÈME D’EXPLOITATION53
•Le contenu d'un fichier texte peut être visualisé à partir de l'invite de commande en utilisant la commande TYPE.Syntaxe:
TYPE nom_du_fichier
Exemples:TYPE etudiants.txtTYPE C:\classes\1LFIAG.txt
Affichage du contenu d’un fichier
ATELIER SYSTÈME D’EXPLOITATION54
•L'opérateur PIPE redirige la sortie d'une commande DOS à une autre commande.
On utilise le symbole: | (ALTGR + 6 )
•Un filtre est une commande DOS qui permet de modifier la sortie d'une autre commande DOS:
– MORE
– SORT
– FIND
PIPE et FILTRE
ATELIER SYSTÈME D’EXPLOITATION55
• Le filtre MORE affiche les sorties des commandes ou les fichiers textes écran par écranSyntaxe:
[commande] | MORE
Exemple: DIR | MOREMORE < fich1.txtTYPE fich1.txt | MOREMORE fich1.txt
Le filtre MORE
ATELIER SYSTÈME D’EXPLOITATION56
• Le contenu d'un fichier ASCII peut être trié avant d'être affiché.• Le filtre SORT accepte l'entrée et le trie avant qu'il ne soit affiché.Syntaxe:
SORT nom_du_fichierouSORT < nom_du_fichier
Exemple:SORT test.txtouSORT < test.txt
Le filtre SORT
ATELIER SYSTÈME D’EXPLOITATION57
• L'ordre de tri peut être inversé.Syntaxe:
SORT /R < nom_du_fichier ou
SORT /R nom_du_fichier
Exemples:SORT /R < mesnotes.txt
ouSORT /R mesnote.txt
SORT « inverser l’ordre du tri »
ATELIER SYSTÈME D’EXPLOITATION58
•Le filtre FIND permet de chercher une chaine de caractère dans un ou plusieurs fichiers
Syntaxe:FIND “string” nom_du_fichier
Exemple:FIND “04” etudiants.txt
Le filtre FIND
ATELIER SYSTÈME D’EXPLOITATION59
Pour que la commande FIND ignore la casse, il faut ajouter l’option /ISyntaxe:
FIND /I “string” filename
Exemple:FIND /I “DOG” classfile.txt
Le filtre FIND « ignorer la casse »
ATELIER SYSTÈME D’EXPLOITATION60
SCRIPT MS-DOS
ATELIER SYSTÈME D’EXPLOITATION61
Les limites des interfaces graphiques ?- Outils d’administration par défaut font l’affaire pour certaines
tâches « basiques » à petite échelle.
- Les interfaces graphiques ne couvrent pas l’ensemble des cas de figure qui se présentent aux administrateurs.
Les cas courants ou le scripting facilite la vie ?- Automatiser les tâches répétitives.
- Accéder à des fonctionnalités du système qui ne sont pas directement accessibles via les interfaces graphiques (certes
nombreuses).
- Automatiser des fonctionnalités cachées …
ATELIER SYSTÈME D’EXPLOITATION62
Améliorer la productivité côté administration et support technique.
- Gestion des comptes utilisateurs, machines, groupes de sécurité ;
- Gestion Réseau …
- Maintenance des services ;
- Audit de l’existant ;
- Gestion globale d’Active Directory ;
- Reporting pour les serveurs et postes de travail.
- …
ATELIER SYSTÈME D’EXPLOITATION63
Améliorer la productivité côté poste de travail
- Gestion des scripts de connexions ;
- Automatisation d’applications bureautique ;
- Maintenance du système d’exploitation ;
- Personnalisation de l’interface ;
- Aide pour effectuer des tâches complexes pour utilisateurs courants.
Le temps gagné par l’utilisation du scripting peut servir à améliorer la qualité de service.
ATELIER SYSTÈME D’EXPLOITATION64
Commandes dédiées aux scripts :PAUSE : Permet de stopper le traitement en cours en demandant à
l'utilisateur de taper une touche pour continuer.
IF : Instore une structure conditionnelle
FOR : Permet de créer des boucles
SET : Définition d'une variable %variable% pour la rapeller
GOTO : Permet d'aller à une étiquette définit dans le script via ":".
SET VARNAME= : Crée une variable.
SETLOCAL : Crée une variable locale.
TIMEOUT : Permet de créer une temporisation avec un réglage en secondes. (!!! Valable uniquement sous Vista !!!)
ATELIER SYSTÈME D’EXPLOITATION65
CRÉER UN PREMIER SCRIPT BATCH
ATELIER SYSTÈME D’EXPLOITATION66
Editeur de texte :
- Bloc note Windows (notepad)
- Notepad ++
- Pspad
- PowerBatch
L’utilisation de logiciels utilisant la coloration syntaxique est un plus dans le cadre de la création de scripts complexes.
ATELIER SYSTÈME D’EXPLOITATION67
Création d’un fichier Batch :rem la directive rem permet de commenter une ligne au sein
rem d'un fichier batch
rem la commande echo off permet de désactiver l'affichagerem des commandes
echo off
rem la commande cls de mettre à blanc l'affichage effaçant rem toutes les lignes précédentes
cls
rem la commande echo texte permet d'afficher du texte dans rem la fenêtre dos
echo Voila mon premier batchrem la commande pause permet d'arrêter le script en
rem demandant une action de l'utilisateur pause
ATELIER SYSTÈME D’EXPLOITATION68
Enregistrement du Batch :
Une fois le fichier conçu il faut l'enregistrer avec une extension spécifique « .bat », en sélectionnant le Type « All Types(*.*) », pour
l'éditeur bloc note Windows.
Le fichier ainsi créé apparaît comme ceci sous Windows.
Il est également possible d'enregistrer le fichier sous l'extension « .cmd » ou encore grâce à un utilitaire de le compiler en « .com » ou « .exe »
ATELIER SYSTÈME D’EXPLOITATION69
Exécution du Batch :
Pour l'exécuter double cliquez simplement sur le fichier. Vous pouvez sinon l'exécuter dans une tâche planifiée de programmer le lancement
tous les jours par exemple.
ATELIER SYSTÈME D’EXPLOITATION70
SOPHISTICATION
ATELIER SYSTÈME D’EXPLOITATION71
LES VARIABLES :
Une variable permet de stocker une donnée indiquée… à tout moment dans le script on pourra faire appel à elle.
rem désactive l'affichage des commandesecho off
rem remise à blanc de l'écrancls
rem définition de la valeur de la variableset variable=1
rem affiche du texte en rappelant la variable grâce aux %echo la valeur de la variable est %variable%
rem arrêtpause
Résultat:
ATELIER SYSTÈME D’EXPLOITATION72
Demande de valeur à l’utilisateur :
Il semble intéressant d'interagir avec l'utilisateur en demandant une variable. Cela est possible grâce à l'utilisation du paramètre "/p", passer
à la commande set, comme nous le montre cet exemple:
rem désactive l'affichage des commandesecho off
rem remise à blanc de l'écrancls
rem le /p permet de demander le retour de la variableset /p prenom= Quel est votre prenom :
rem remise à blanccls
rem affiche le texte avec la variable rentréeecho Ca va %prenom%, tu as un joli prenom :-)
rem arrêtpause
ATELIER SYSTÈME D’EXPLOITATION73
Les variables d’environnement :
Windows possède un certain nombre de variables déjà renseignées concernant votre système.
rem désactive l'affichage des commandesecho off
rem remise à blanc de l'écrancls
rem liste des variables echo Salut %USERNAME%,nous sommes le %DATE%
echo il est %Time% déjà!, echo %RANDOM% est un chiffre aléatoire.
echo Ton PC se nomme %COMPUTERNAME%,echo il posséde %NUMBER_OF_PROCESSORS% processeur,echo c'est une architecture %PROCESSOR_IDENTIFIER%
rem arrêtpause
ATELIER SYSTÈME D’EXPLOITATION74
Découpage d’une variable :
L'intérêt de découper une variable est d'extraire certaines parties afin de les retraiter.
Principe:Prenons la variable d'environnement %ProgramFiles%
echo %ProgramFiles% donne C:\Program Files Désormais nous souhaitons conserver uniquement le lecteur "c:\"
echo %ProgramFiles:~0,3%On observe que l'ajout du ":~" indique le découpage, les valeurs
suivantes "0,3" indiquent comment découper. En effet le 0 indique que le début de la sélection est le 0eme caractère, le 3 indique qu'elle
s'arrête au 3eme. Autre solution possible, par suppression de caractères:
echo %ProgramFiles:~,-13% Conservons désormais le nom du dossier "Program Files" uniquement
echo %ProgramFiles:~3,13%echo %ProgramFiles:~3%
ATELIER SYSTÈME D’EXPLOITATION75
Exemple :
rem désactive l'affichage des commandes@echo off
rem remise à blanc de l'écrancls
echo variable de base date: %date%rem découpage %date:~0,2%
rem 1er chiffre numéro du caractère de début de la sélectionrem 2eme chiffre nombre de caractères après le début
echo Nous sommes le %date:~0,2% le %date:~3,2%eme mois de l'ann‚e %date:~6,4%
rem arrêtpause
Résultat :
ATELIER SYSTÈME D’EXPLOITATION76
Calcul simple avec des variables :
Grâce aux batch il est possible de faire des opérations simples telle qu'une addition, soustraction, multiplication ou encore division. Cela est
possible avec la commande set /a.
@echo offecho Addition
set /a add = 5+5echo 5 + 5 = %add%
echo.echo Soustractionset /a sous = 10-5
echo 10 - 5 = %sous%echo.
ATELIER SYSTÈME D’EXPLOITATION77
echo Divisionset /a div = 10/2
echo 10 / 2 = %div%echo.
echo Multiplicationset /a mult = 10*2
echo 10 * 2 = %mult%pause
Il est possible de donner des priorités aux opérations grâce aux parenthèses
@echo off
echo Priorit‚ op‚ratoireset /a pri = ((10*5)*2 + (10*5)*2)/2
echo ((10*5)*2 + (10*5)*2)/2 = %pri%
ATELIER SYSTÈME D’EXPLOITATION78
LES FONCTIONS :Les étiquettes :
La fonction étiquette permet d'intervenir sur le séquencement, typiquement votre script va exécuter les commandes les une à la suite
des autres. Pour casser tout ça les étiquettes permettent d'accéder directement à un endroit du script.
rem désactive l'affichage des commandesecho off
rem remise à blanc de l'écrancls
rem définition du point de retour:boucle
rem affiche le texte salutecho salut
rem indique de retourner à la :bouclegoto boucle
Ce script va afficher salut à l'infini, grâce à la boucle formée avec le saut qui fait un retour sur la directive :boucle.
ATELIER SYSTÈME D’EXPLOITATION79
Les SI avec la fonction IF / ELSE :
La fonction If permet de définir une condition, ainsi il est possible de définir une comparaison qui fera accepter ou non la condition.
Structures de la commande:IF "chaîne1" comparant "chaîne2" (action)
IF "chaîne1" comparant "chaîne2" (action1) else (action2)
Exemple:IF toto EQU toto (echo egaux)
IF toto EQU tata (echo egaux) else ( echo différent)
N.B: L'ajout du paramètre /i permet d'ignorer la casse.
ATELIER SYSTÈME D’EXPLOITATION80
Les comparants utilisables sont :
EQU - égal àNEQ - différent deLSS - inférieur à
LEQ - inférieur ou égal àGTR - supérieur à
GEQ - supérieur ou égal à
N.B : Il est possible de comparer des chaînes de caractères ou bien des chiffres.
ATELIER SYSTÈME D’EXPLOITATION81
Exemple : (utilisation des SI afin de créer une condition pour sortir de la boucle).
echo offcls
rem défini le point de retour:boucle
rem définit une variable incrémenté de 1 à chaque passageset /a count = count + 1
rem affiche la variable à chaque passageecho %count%
rem SI %count% est égal à 10 alors aller au saut :fin if %count%==10 goto fin
goto boucle:fin
rem Insertion d'une une variable echo Grace a des SI on mis %count% fois Bordeaux en bouteille
pause
ATELIER SYSTÈME D’EXPLOITATION82
Tests sur des fichiers :
Test sur l'existence d'un fichier :
rem désactive l'affichage des commandes@echo off
rem remise à blanc de l'écrancls
rem test la présence du fichier temp.bat alors afficherrem existe sinon afficher existe pas.
if exist temp.bat (echo existe) else echo existe paspause
ATELIER SYSTÈME D’EXPLOITATION83
Test sur la non-existence d'un fichier :
rem désactive l'affichage des commandesecho off
rem remise à blanc de l'écrancls
rem test la présence du fichier temp.bat alors rem afficher existe sinon afficher existe pas.
if not exist temp.bat (echo existe pas ) else echo existepause
ATELIER SYSTÈME D’EXPLOITATION84
La fonction CHOICE :Comme son nom l'indique elle permet de faire un choix est d'être
redirigé vers un saut..
Attention la fonction CHOICE n'est pas disponible sur le système de base de Windows XP, pour résoudre ce problème il suffit
d'installer Powerbatch il installe la commande en même temps que son programme
ATELIER SYSTÈME D’EXPLOITATION85
Echo off:debut
cls
Echo Question: Quelle est la capitale de la suŠde ?Echo .
Echo R‚ponse a: OlsoEcho R‚ponse b: StokholmEcho R‚ponse c: Reykjavik
Echo q: Quitterrem la commande choice utilise une liste de paramètres ici abcq qui
fontrem référence à 4 niveau d'erreur a fait référence au 1
CHOICE /C abcq /M « Faites votre choix »
IF %ERRORLEVEL%==1 goto aIF %ERRORLEVEL%==2 goto bIF %ERRORLEVEL%==3 goto cIF %ERRORLEVEL%==4 goto q
ATELIER SYSTÈME D’EXPLOITATION86
:acls
echo Perdu ! la capitale de la suŠde n'est pas Olso mais StokholmGOTO Fin
:bcls
echo Gagn‚e ! la capitale de la suŠde est bien StokholmGOTO Fin
:ccls
echo Perdu ! la capitale de la suŠde n'est pas Reykjavik mais StokholmGOTO Fin
:Finpause
goto debut:q
ATELIER SYSTÈME D’EXPLOITATION87
La fonction FOR :
Cette fonction for permet de pouvoir parcourir un ensemble de lignes dans un fichier, et d'exécuter des actions pour l'élément parcouru.
Structure simple:
FOR /f %%variable IN (ensemble) DO commande
N.B: On peut noter que les variables utilisées ici, ne sont pas de la forme %var%, mais de la forme %%a.
ATELIER SYSTÈME D’EXPLOITATION88
@echo offdel temp.txt
rem création d'un fichierecho 1 >> temp.txtecho 2 >> temp.txtecho 3 >> temp.txtecho 4 >> temp.txtecho 5 >> temp.txt
rem visualisation du contenuecho le fichier temp.txt contient les lignes suivantes:
more temp.txt
echo.
echo Pour chaque ligne du fichier afficher son contenuFOR /f %%i IN (temp.txt) DO (
echo ligne %%i)
pause
ATELIER SYSTÈME D’EXPLOITATION89
Structure « complexe » :
@FOR /f "tokens=2 delims=," %%a in (c:\data.txt) do ( @echo %%a
)pause
Dans cette exemple nous ajoutons deux paramètres:
Tokens: Ce paramètre indique que la variable « %%a » prendra la deuxième colonne du fichier c:\data.txt.
Delims: Ce paramètre indique que le délimiteur est la virgule, ce séparateur délimite en fait les colonnes du fichier c:\data.txt.
Pour pouvoir interroger chaque colonne d'un fichier il faut modifier le paramètres "token". Si "tokens=1,2" alors un "echo %%a" ramera la
valeur de la première colonne et un "echo %%b" ramènera la valeur de la deuxième colonne.
ATELIER SYSTÈME D’EXPLOITATION90
La fonction FIND … recherche dans un fichier, tableau :
Grâce aux batchs il est possible à l'intérieur d'un fichier texte de faire une recherche, à la fois sur une ligne et sur une colonne.
Tout d'abord il est préférable d'utiliser des fichiers possédant des séparateurs simples, comme par exemple les fichiers « .cvs » avec le
délimiteur virgule.
Fichier: c:\data.csv 1,pierre,martin
2,antoine,dupont3,marcel,roger4,thomas,froger5,marie,simon
6,lea,robert7,ines,bertrand8,kenza,fournier9,laure,richard
ATELIER SYSTÈME D’EXPLOITATION91
Sélection d'une ligne: find "4" c:\data.csv
pause
Grâce à au find nous avons sélectionné la ligne numéro 4.
ATELIER SYSTÈME D’EXPLOITATION92
Sélection d’une colonne :
A l'aide, de la fonction FOR il est possible de sélectionner une colonne au sein d'un fichier avec délimiteur.
@FOR /f "tokens=2 delims=," %%i in (c:\data.csv) do @echo %%i
pause
N.B : Il est possible avec la fonction FOR d'exécuter plusieurs commandes dans le do, en intégrant des parenthèses après le DO. Avec ce batch nous pouvons afficher la 2ème colonne du fichier dont les
séparateurs sont des ","
ATELIER SYSTÈME D’EXPLOITATION93
Combinaison des deux :@echo off
rem définition de la variable var qui définie la place recherchéeset /p var=Quelle place cherchez-vous (1-9)?
rem enregistre dans le fichier tmp.txt la ligne contenant le numéro indiqué
find "%var%" c:/data.csv >> tmp.txtrem dans le fichier tmp.txt sélection de la colonne 2 à 3, la colonne 2 %
%i rem la colonne 3 %%j
FOR /f "tokens=2-3 delims=," %%i in (tmp.txt) do @echo le num‚ro %var% est %%i %%j
del tmp.txtpause
ATELIER SYSTÈME D’EXPLOITATION94
Création d’un compteur :
La création d'un compteur peut être très utile dans certaines situations, par exemple afin de temporiser. Ce dernier aura pour effet de retarder
certaines commandes.
Il s'agit de créer une boucle à l'aide d'une étiquette incrémentant une variable ici %count%
rem temporistation:boucle
set /a count = count + 1if %count%==1000 goto finboucle
goto boucle:finboucle
En jouant sur le seuil de déclenchement, ici "1000" nous pouvons faire varier la durée de la temporisation.
ATELIER SYSTÈME D’EXPLOITATION95
Les paramètres :
Ce sont en fait des variables que l'utilisateur peut introduire à l'exécution du script. Mais voyons cela avec un exemple simple.
@echo offecho J'ai pass‚ le paramŠtre : %1
pause
Ce micro script permet grâce à la variable %1 de récupérer le premier mot passé en paramètre au script. Comme vous l'aurez deviné %2 est le
deuxième paramètre au script…
ATELIER SYSTÈME D’EXPLOITATION96
AFFICHAGE
ATELIER SYSTÈME D’EXPLOITATION97
Affichage :Afin de rendre plus agréable votre script à l'utilisateur, il est possible de
personnaliser légèrement l'affichage.
Couleurs texte et arrière plan sous MS-DOS :Pour commencer il est possible de modifier les couleurs, vous avez
sûrement remarquer qu'il était possible de modifier les couleurs grâce à un clic droit dans la barre de titre d'une fenêtre MS-DOS.
ATELIER SYSTÈME D’EXPLOITATION98
COLOR [attr]
attr Spécifie les attributs de couleurs de l'apparence de la console
Les attributs de couleurs sont spécifiés par DEUX chiffres hexadécimaux -- le
premier correspond à l'arrière plan, le second au premier plan. Chaque chiffre
peut prendre n'importe quelle de ces valeurs :
0 = Noir 8 = Gris1 = Bleu foncé 9 = Bleu clair
2 = Vert A = Vert clair3 = Bleu-gris B = Cyan
4 = Marron C = Rouge5 = Pourpre D = Rose
6 = Kaki E = Jaune7 = Gris clair F = Blanc
ATELIER SYSTÈME D’EXPLOITATION99
Si aucun argument n'est donné, cette commande restaure les couleurssélectionnées au moment où CMD.EXE a été ouvert.
Cette valeur vient soit de la fenêtre de la console, du commutateur en ligne de commande /T, ou de la valeur DefaultColor du registre.
La commande COLOR met ERRORLEVEL à 1 si vous tentez de l'exécuter
avec la même couleur pour l'arrière et le premier plan.
Exemple : "COLOR fc" affiche du rouge sur du blanc
ATELIER SYSTÈME D’EXPLOITATION100
Exemple :
@echo offcolor 0A
echo Mon script est en couleur!pause
Les cadres :
Il est possible de créer des faux cadres afin d'avoir une interface plus agréable. Pour cette section je vous recommande vivement Powerbatch
qui possède un assistant pour crée ces cadres.
Pour crée ces derniers il faut utiliser des caractère spéciaux, ainsi: @echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
@echo ºQuel joli cadre !º@echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
pause
ATELIER SYSTÈME D’EXPLOITATION101
Nom de la fenêtre MS-DOS :
Grâce à la commande "title" il est possible de remplacer le joli « Invite de commande » par ce que vous voulez.
@title Script !pause
Exécution en fenêtre réduite :
Lorsque vous exécuter un batch automatiquement au démarrage de l'ordinateur ou encore en tâche planifiée, il est souvent utile de masquer
l'exécution du batch pour le rendre transparent aux yeux des utilisateurs.
Il faut tout d'abord crée un raccourci vers le fichier batch (clic droit)Ensuite il faut aller voir les propriétés du raccourci
ATELIER SYSTÈME D’EXPLOITATION102
Enfin vous trouverez trois modes d'exécution, Fenêtre normale, Réduite, Agrandie, sélectionnez « Réduite ».
Voila le batch sera désormais visible uniquement dans la barre des tâches, vous pouvez mettre le raccourci dans Démarrer -> Tous les programmes -> Démarrage pour une exécution au démarrage de
l'ordinateur.
ATELIER SYSTÈME D’EXPLOITATION103
Effacer l’écran :
L'effacement de l'écran permet de remettre à blanc toutes les lignes de la fenêtre DOS, il faut utiliser la commande « cls »
exemple:
@echo ecran 1 cls
@echo ecran 2 pause
ATELIER SYSTÈME D’EXPLOITATION104
Exemple script affichage :
@title Mon Script !@set t=0:boucle
cls@color %t%
@echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»@echo ºQuel joli cadre !º@echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
@set /a t = t + 1if %t%==99 goto fin
goto boucle:fin
pause
ATELIER SYSTÈME D’EXPLOITATION105
EXEMPLES DE SCRIPTS
ATELIER SYSTÈME D’EXPLOITATION106
Script de sauvegarde :Ce script permet de faire des sauvegardes incrémentielles sur une machine distante appartenant au réseau. Editez le fichier fourni.
Défragmenteur réseau :Ce script permet de défragmenter des postes sur votre réseau, en les
allumant si des utilisateurs les ont éteints. Editez le fichier fourni.
Cleaner :Ce script sert à faire le ménage sur votre pc défragmentation +
nettoyage de disque sur tout vos lecteurs. Editez le fichier fourni.