LES COMMANDES DOS
ET LES FICHIERS
BATCH
Assuré par: Mme
NASSA/TRAWINA
Halguiéta
PLAN
I. NOTION DE TERMINAL/INVITE DE
COMMANDES/POWERSHELL
II. LES COMMANDES DOS
III. LES SCRIPTS BATCH
IV. LES INSTRUCTIONS SPECIFIQUES
I. NOTION DU TERMINAL/INVITE DE COMMANDES/POWERSHELL
a) TERMINAL
Un terminal est une application permettant de dialoguer avec l’ordinateur via
l’écriture de lignes de commande.
Le terminal sert à :
naviguer dans une arborescence de fichiers ;
créer, supprimer et déplacer des dossiers et des fichiers ;
lancer des programmes.
Windows possède deux utilitaires directement inspiré du terminal, mais qui ne
sont pas des terminaux même sont très proches visuellement, ce sont :
L'invite de commande (appelée aussi fenêtre de commande DOS),
Le powershell, présent sur les Windows les plus récents et qui accepte des
commandes plus proches de ce que propose le terminal
I. NOTION DU TERMINAL/INVITE DE COMMANDES/POWERSHELL
b) Ligne de commande
est une instruction écrite, qui une fois envoyée à l’ordinateur via le terminal, va effectuer
une action, comme par exemple créer un répertoire, lancer un programme ou afficher le
contenu d’un fichier.
S’écrit sur une interface texte intégrée au système d’exploitation Windows et permet
de lancer des programmes ou exécuter d’autres commandes, d’organiser les fichiers
NB: « Console », « terminal », « ligne de commande », « term », sont des synonymes pour
désigner la même chose. Dans la suite du cours, l'un ou l'autre de ces termes seront utilisés
indifféremment.
I. NOTION DU TERMINAL/INVITE DE COMMANDES/POWERSHELL
c) Environnement Windows PowerShell
est une version avancée de CMD;
est utilisé pour automatiser les tâches d'administration système qui ne peuvent pas être
accessibles à partir de CMD;
est la nouvelle interface système de Microsoft qui combine les fonctionnalités de l’ancien
CMD avec un nouvel ensemble d’instructions de script/cmdlet intégrant des
fonctionnalités d’administration de système.
construit sur le framework .NET et prend en charge de nombreuses commandes de
l'invite de commandes;
propose en plus des commandes d'administration et de gestion du système
Interpréteur de
commandes
L’Invite ou Prompt
du DOS prêt à
recevoir une
commande
Le prompt par défaut est constitué de:
- Nom du lecteur: C:
- \: “ back-slash ”, indique la racine
- Users\HP: indique le repertoire courant de l’utilisateur par défaut (“HP”
ici) qui est actif, ceci est facultative
- >: marque la fin du nom du repertoire courant
Synthaxe générale d’une ligne de commande DOS:
Prompt commande [/-options] [argument]
Exple: C:\> copy [Link] [Link]
1 2 3
1: prompt 2: commande pour la copie 3: argument
II. LES COMMANDES DOS
1) Les commandes de Base
• Help: affiche la liste des commandes DOS
• Nomcde/?: affiche l’aide correspondante à la commande passée
• cls : efface toute le contenu de la console
• date : permet de changer la date du système (date /T= affiche simplement la date
du jour)
• time : peut changer l’heure du système (time/T= affiche simplement la date du
jour)
• exit : ferme l’invite de commandes
Pratique 1: afficher l’aide de chacune des commandes et tester les à partir d’exemples
2) Les commandes Système
Les commandes systèmes sont assez nombreuses et permettent notamment de
modifier la configuration de Windows.
• hostname : affiche le nom d’hôte de l’ordinateur (exple: hostname)
• systeminfo : affiche les informations systèmes et matérielles (exple: systeminfo)
• compact : affiche le taux de compression d’un répertoire et permet de le modifier
• reagentc : Configure l’environnement de récupération Windows (Windows RE) et
la réinitialisation du système. (exple: reagentc/info)
• Start: Lance une application ou ouvre une nouvelle fenêtre d'invite de
commande
• shutdown : arrête l’ordinateur local ou un ordinateur du réseau
• Chkdsk: Permet de vérifier les erreurs sur le système de fichier. À savoir : peut
être utilisé avec l'option /f pour corriger les erreurs (Nécessite un redémarrage
de la machine après confirmation O)
• diskcopy : copie de disque
• diskperf :teste les performances des disques
• format : format un disque
Pratique 2: A travers l’aide, donner la syntaxe de chacune des
commandes systèmes suivie d’exemple d’exécution de ces
commandes.
3) Les commandes sur les fichiers et dossiers
il est tout à fait possible de naviguer dans l’arborescence d’un disque,
• pour changer de lecteur, tapez simplement le lecteur suivi de deux-points (:).
Exple D: et entrée.
• dir : liste les fichiers et dossier d’un répertoire
• cd : permet de changer de répertoire
cd .. permet de revenir au répertoire au dessus dans l’arborescence
• copy : commandes pour copier des fichiers/dossiers
• rmdir ou rd : supprime un répertoire – il est possible de supprimer une
arborescence complète avec l’option /S
• takeown : modifie le propriétaire d’un fichier ou dossier
• tree : affiche l’arborescence d’un répertoire
• echo: Utilisé pour afficher un message ou pour activer/désactiver l'affichage
des messages dans un script batch
• echo> [Link]: permet de créer un nouveau fichier
• Robocopy vous permet de déplacer des fichiers ou des dossiers à partir d'un
chemin de lecteur spécifié à l'aide de l'invite de commande. Voici les étapes
détaillées :
• type : affiche le contenu d’un fichier
• find : permet de filtrer un texte sur une chaîne de caractères
• sort : permet de trier les sorties
• Xcopy fait référence à la copie d'extension, une commande qui peut
copier plusieurs fichiers ou des répertoires entiers d'un emplacement à
un autre. Vous pouvez l'utiliser pour déplacer des dossiers et des sous-
dossiers.
• Syntaxe : xcopy [source] [destination] [options]
• [option] :
/E : Copier les sous-répertoires, y compris ceux qui sont vides.
/H : Copier les fichiers avec des attributs de fichier cachés et système.
/C : Continuer la copie même si une erreur se produit.
/I : Si vous avez des questions, veuillez toujours supposer que la cible est un dossier.
• del : permet de supprimer un fichier
• rd ou rmdir : permet de supprimer un dossier
• takeown : permet de devenir propriétaire des fichiers
• icalcs : permet de redéfinir les permissions de fichiers, vous devez être
propriétaire des fichiers pour cela.
Pratique 3: Reprendre les manipulations des dossiers et fichiers
(créer, copier, renommer, …) de l’exercice 1 du TP1 à travers l’invite de
commande.
4) Commandes liées aux réseaux
• ipconfig : afficher la configuration réseaux des interfaces
• Ping: Vérifie la connectivité vers un ordinateur, un routeur ou un site
Internet
• getmac: Affiche l'adresse MAC (Media Access Control) de votre carte
réseau
• route : affiche et modifie les routes de Windows
• Tracert: permet de vérifier le chemin empruntés par des paquets pour
atteindre une destination. (exple: tracert [Link])
• netsh : permet de modifier la configuration réseaux des interfaces
Pratique 4: utiliser les commandes réseaux pour:
- Afficher l’aide des commandes ipconfig, ping et getmac
- Afficher les informations sur les interfaces réseaux de la machine
- Afficher les adresses MAC de l’ensemble des interfaces réseaux
- imprimer les routes de l’ensemble des itinéraires en cours
5) Les opérateurs de redirection des commandes sous Windows
Un programme peut être vu comme un système dans lequel entrent des données, qui
sont traitées et il en sort des résultats et/ou éventuellement des signaux d'erreurs.
Les programmes lancés en mode invite de commande :
reçoivent des données de l'entrée standard (généralement le clavier)
affichent les résultats sur la sortie standard (généralement l'écran)
et envoient les messages d'erreur sur une sortie standard pour les
erreurs (généralement l'écran aussi)
• Les opérateurs de redirection permettent de rediriger les données d'entrée et
de sortie des commandes, à partir d'emplacements par défaut vers d'autres
emplacements. L'emplacement des données d'entrée ou de sortie est appelé
un descripteur.
Opérateur de Description
redirection
> enregistre les données obtenues en résultat d'une commande dans un fichier
ou de les diriger vers un périphérique, tel qu'une imprimante, au lieu de les
afficher dans la fenêtre de l'invite de commandes
< Permet de récupérer l'entrée d'une commande à partir d'un fichier au lieu de la
saisir sur le clavier.
>> Permet d'ajouter les données qui résultent d'une commande à la fin d'un fichier
sans supprimer les données qui s'y trouvent déjà
>& Permet de remplacer les données d'entrée d'un handle par les données de
sortie d'un autre handle
<& Permet de lire les données d'entrée dans un handle et de les écrire en tant que
données de sortie dans un autre handle.
| Permet de lire les données obtenues en sortie d'une commande et de les écrire
en tant que données d'entrée dans une autre commande. Ce symbole est
appelé une barre verticale
5) Manipuler les fichiers en lignes de commandes
Type nul > [Link]: permet de créer un fichier vide dont le type sera fonction de
l’extention
Exple: type nul>[Link]
Type [Link] : affiche le contenu d’un fichier. NB: faire la part entre les deux utilisations de TYPE
Echo moncontenu > [Link]: Permet de créer un fichier avec un contenu de base
Exple: type nul>exerciceswind_2.txt
Copy con [Link]: crée un fichier et permet d’y ajouter du contenu directement sur la console.
On termine par la commande ctrl+z
del [Link] : supprime le fichier passer en paramètre. Il est possible d’ajouter l’option /f
5) Manipuler les fichiers en lignes de commandes
Les commandes start, edit, notepad sont utilisées pour ouvrir un fichier texte avec le Bloc Note
en ligne de commandes
Start [Link]
edit [Link] permet de lancer un fichier et ouvrir avec le
notepad [Link] Bloc Note
where [Link] : recherche un fichier dans le répertoire courant ou dans un dossier
spécifique
Exple: where [Link]
Find « chaîne_de_caractere_rechercher » chemin_fichier_concerne: permet de retrouver une chaîne
de caractère dans un fichier
5) Manipuler les fichiers en lignes de commandes
rename (ren) permet de renommer le nom d’un fichier
Exple: rename [Link] [Link]
Les commandes del et Erase: supprime un ou plusieurs fichier (mais vous ne pouvez pas
supprimer un répertoire)
move : commandes pour déplacer des fichiers/dossiers;
rename (ren) Modifie le nom d’un fichier ou d’un repertoire.
Pratique 5:
a) Exécuter la commande « getmac » pour afficher les adresses MAC
des interfaces réseaux
b) Récupérer la sortie de la commande « getmac » dans un fichier
nommé « [Link] » à créer dans votre dossier de travail
Documents
c) Exécuter la commande systeminfo en recuperant le résultat dans
un fichier test ([Link])
d) Faire le TP sur les commandes DOS
6) Autres commandes DOS
Fonctionnalités Commandes DOS
Propriétés système systeminfo
Gestion des disques (propriétés, [Link]
partitionnement)
Ajouter/Supprimer une application [Link]
Propriétés d’affichage (Personnaliser son control desktop
bureau / écran de veille / écran de
verrouillage)
Outils d’administration control admintools
Assitant de transfert Bluetooth fsquirt
Afficher la calculatrice calc
Vérifier l’utilitaire de disque chkdsk
Panneau de control control
Propriété Date e heure [Link]
Utilitaire de nettoyage de disque cleanmgr
Utilitaire de défragmentation de disque [Link]
III. FICHIERS SCRIPTS/BATCH
L’invite de commande (encore appelé [Link]) fait parti des composants logiciels de Windows; les
fichiers batch sont étroitement liés à l’invite de commande et s’exécutent via cette interface.
1) Définition de Fichier Script ou Batch
Un fichier batch (fichier Bat, script batch ou fichier de traitement par lots) est un fichier texte (crées à
partir d'un bloc-notes ou WordPad ou NotePad ou tout autre éditeur de texte) exécutable par lot;
• autrement dit il s’agit d’un programme informatique ou d’un script dont les données ou tâches
sont traitées l’une après l’autre par l’invite de commande
• fichiers utilisent l'extension spéciale ".bat" ou ".cmd".
• Les fichiers batch peuvent automatiser les tâches informatiques quotidiennes (déconnecter un
utilisateur à un temps précis donné, redémarrer une machine, restreindre les droits d’un
utilisateur, etc) .
2) Etapes pour créer un fichier Batch
Etape1: Utiliser un éditeur de texte
Ex: BlocNote : éditeur de Windows ou NotePad++ (téléchargeable gratuitement)
Etape 2:
• Pour créer des fichiers batch, aucun langage de programmation compliqué n’est nécessaire. Il
est toutefois essentiel de connaître les commandes systèmes usuelles et leurs fonctionnalités
dans les fichiers batch.
• avant d’essayer de composer votre propre script, vous devez vous familiariser avec certaines
commandes.
• ci-après certaines des commandes les plus importantes à maîtriser :
• ECHO : affiche le texte des commandes exécutées à l’écran
• @ECHO OFF : masque le texte des commentaires à l’écran lors de l’exécution
• START : exécute un fichier avec l’application standard
• REM (ou ::) : indique une ligne de commentaire
• MKDIR/RMDIR : crée ou supprime un répertoire
• DEL : supprime le/les fichier(s) sélectionné(s)
• COPY : copie le/les fichier(s) sélectionné(s)
• TITLE : traite le titre de la fenêtre CMD
• SET: permet de lire (déclarer une variable)
• PAUSE: Le fichier batch exécuté est arrêté et la console affiche le message « Appuyez sur
n’importe quelle touche »
• COLOR: Modifier la couleur d’arrière-plan de la console actuelle
Etape 3: Ecrire les lignes de commandes à exécuter
Il s’agit d’écrire les commandes à exécuter puis enregistrer le fichier au format .bat obligatoirement.
• Débutent toujours par @echo off (pour ne pas afficher les commentaires à l’exécution) et se
termine par pause (pour arrêter l’exécution et afficher le message de sortie)
• syntaxe générale :
@echo off
title Mon fichier Batch
mode con cols=80 lines=16
color 0F
Set déclarer les variables
:: Votre code
pause
Ressources en ligne: [Link] et [Link]
[Link]
Etape 4: Exécution du script crée
Une fois le fichier Bat créé et enregistré comme tel, deux manières existent pour l’exécuter :
1- démarrez le script dans l’environnement familier de l’explorateur Windows. Il suffit de naviguer à
travers les répertoires jusqu’au répertoire qui contient le fichier puis par un double cli; exécuter le fichier
batch.
2- ou exécuter par ligne de commande via l’outil de ligne de commande (nécessite d’accéder à l’invite de
commande en tant qu’administrateur). De ce fait utilisez la commande « change directory » (cd) pour
accéder au répertoire dans lequel se trouve le fichier batch, puis saisir le nom du script batch (y compris
l’extension du fichier) et appuyez sur la touche Entrée.
Etape 5: Besoin de modifier le script
En cas de besoin de modifier le script pour soit ajouter d’autres lignes
de commandes ou en supprimer, il suffit de l’éditer pour modification ou l’ouvrir
Exemples
1) Créer le script qui permet d’afficher le message « Bonjour à la classe»
2) Ecrire un script qui permet de créer deux dossier (dos1 et dos2) dans Documents puis les
sous-dossiers dosword et doswindows dans dos1
3) Modifier le script crée en 2) de telle sorte que dosword est copié dans dos2 puis vous
renommez dos1 en dossier1, Donner un titre au script
4) Créer un script qui crée deux fichiers texte vide dans le dossier dos1 puis copier le fichier
premier fichier dans la dos2
3) Les variables d’environnements
a) Généralités
• Une variable d’environnement est une variable dynamique contenant une information utilisable
par les logiciels ou le système d’exploitation.
• Par exemple, elle peut contenir le chemin d’accès au répertoire Windows, l’emplacement de
certaines librairies, d’exécutables, etc. Sous MS-DOS, le nom d’une variable d’environnement est
de la forme %NOM_DE_LA_VARIABLE%.
• L’affichage d’une variable se fait à l’aide de la commande MS-DOS ECHO
• Sous Windows, les variables d'environnement sont entourées du caractère « % ». Ainsi, pour
afficher la valeur d'une variable d'environnement, il suffit de taper une commande du type :
Exemple: ECHO %time% permet d’afficher l’heure actuel dans le script.
Quelques variables d’environnement
Variable env Description
%APPDATA% Retourne un chemin d'accès au répertoire par défaut contenant les
programmes utilisateur.
%COMPUTERNAME% Retourne le nom attribué à l'ordinateur.
%DATE% Retourne la date actuelle
%TIME% Retourne l’heure actuelle
%USERNAME% Contient le nom d'utilisateur correspondant au compte courant.
%USERPROFILE% Contient l'emplacement du profil utilisateur du compte courant.
%WINDIR% Contient le chemin d'accès au répertoire du système
(généralement C:WINDOWS ou C:WINNT).
%RANDOM% Retourne un entier compris entre 0 et 32167 choisi aléatoirement par
le système
%SYSTEMDRIVE% Contient la lettre de lecteur sur laquelle le système est situé
(généralement C:).
%ERRORLEVEL% Contient le code d'erreur de la dernière commande utilisée.
Exercice: Ecrire un script qui affichera le nom de l’ordinateur, le nom de l’utilisateur, la date et l’heure
b) Utiliser les variables dans les scripts
SET permet de créer, de modifier et d'afficher les variables d'environnement. Néanmoins, les modifications
interviennent uniquement dans la session en cours.
Syntaxe: SET [variable=[chaine]]
Variable est le nom de la variable d’environnement et
Chaine la chaine de caractère à affecter à la variable
Exemple: SET toto=salut - signifie que TOTO est une variable qui prend comme valeur SALUT
Syntaxe Description
set Sans paramètre, affiche les variables d’env définis
set NomVariable Permet d’afficher une variable
set NomVariable=valeur Permet de créer une variable
set NomVariable= Permet de supprimer la variable
Set /A expres L’option /A montre que la chaîne à droite du signe égal est une
expression numérique évaluée
Set /P [variable=[chaine]] L’option /P permet de fixer la valeur d’une variable saisie par
pour pouvoir utiliser des caractères spéciaux (<, >, |, & ou ^), il suffit de les faire précéder du
caractère d'échappement (^) ou bien les entourer de guillemets ( " " )
Exple: Pour définir « Nom&Prenom » comme valeur, on procède comme suit:
SET = identite = Nom^&Prenom ou encore SET = identite = " Nom&Prenom"
La commande set gère les variables dans l'interpréteur, elle permet :
de créer une variable ;
d'attribuer une valeur à une variable ;
de modifier le contenu d'une variable ;
de supprimer le contenu d'une variable ;
d'effectuer des opérations mathématiques ou logiques entre des nombres ;
de récupérer la saisie d'un utilisateur pour la placer dans une variable ;
et de transtyper le contenu d'une variable.
pour pouvoir utiliser des caractères spéciaux (<, >, |, & ou ^), il suffit de les faire précéder du caractère
d'échappement (^) ou bien les entourer de guillemets ( " " )
Exple: Pour définir « Nom&Prenom » comme valeur, on procède comme suit:
SET = identite = Nom^&Prenom ou encore SET = identite = " Nom&Prenom"
La commande set gère les variables dans l'interpréteur, elle permet :
de créer une variable ;
d'attribuer une valeur à une variable ;
de modifier le contenu d'une variable ;
de supprimer le contenu d'une variable ;
d'effectuer des opérations mathématiques ou logiques entre des nombres ;
de récupérer la saisie d'un utilisateur pour la placer dans une variable ;
et de transtyper le contenu d'une variable.
Exercice
1) Reprendre le script qui affiche le message de salutation puis afficher ensuite la date et l’heure du jour
2) Ecrire un script qui permet d’afficher le message « Présentez-vous » puis demande à l’utilisateur d’entrée son
nom et son prénom et son âge,
III. LES INSTRUCTIONS SPECIFIQUES
II.1 Les instructions d’itération
La boucle FOR
Une boucle for est une instruction d’itération qui permet d’exécuter du code de manière répétée. Supposons
que vous vouliez exécuter une instruction 5 fois. Au lieu d’écrire cinq codes séparés, vous pouvez écrire une
syntaxe de boucle for une seule fois.
Syntaxe: FOR %%variable IN (ensemble) DO commande %%[paramètre]".
NB: Pour utiliser la commande FOR dans un script, on spécifie %%variable au lieu de %variable; aussi les
noms des variables doivent respecter la case (%i est different de %I)
Exemple : Taper directement au clavier la synthèse: FOR %F IN (A B C) DO ECHO %F
Réexécuter cette commande dans un fichier script
L’instruction GOTO Exercice: Reproduire ce code puis
l’executer et dire ce qui se passe
GOTO permet de diriger sur une ligne etiquette dans
le programme de commandes, Il s’agit d’une
instruction de branchement set /a counter=0
:numbers
Syntaxe : GOTO etiquette set /a counter=%counter%+1
if %counter% ==10
:etiquette
(goto :eof)
La condition IF else
(echo %counter% >> D:\[Link])
Permet de lancer l’exécution conditionnelle dans un goto :numbers
programme de commande
Syntaxe: IF instructions
conditionnelle
ELSE
instruction
PAUSE
III.2 Les instructions booléennes
Comparaison de chaînes de caractères.
• Syntaxe :
o Chaîne == Chaîne
Vraie si les chaînes sont identiques.
Exemples
Abc==Abc → VRAI
Abc==abc → FAUX
Abc==Xyz → FAUX
Webgraphie
• [Link]
[Link]