Aller au contenu principal

Introduction à CMD

Qu'est-ce qu'un terminal ?

Un terminal est une interface utilisateur qui permet d'interagir avec un système informatique (système d'exploitation) via des commandes textuelles. Contrairement à une interface graphique (GUI), un terminal reçoit des commandes entrées manuellement par l'utilisateur et retourne du texte en réponse.

Les terminaux offrent généralement :

  • Accès direct à la gestion du système.
  • Automatisation de tâches répétitives.
  • Dépannage rapide du système.

Histoire et différences entre CMD et PowerShell

Windows propose deux principaux interpréteurs de commandes : CMD et PowerShell.

CMD

CMD (Command Prompt), aussi appelé "Invite de commandes" en français, est l'interpréteur de commandes standard sous Windows depuis MS-DOS.

  • Origine : dérivé directement de MS-DOS.
  • Langage simple basé sur des commandes prédéfinies.
  • Idéal pour les scripts basiques et la compatibilité ascendante.

PowerShell

PowerShell est un shell moderne développé par Microsoft pour combler les lacunes de CMD.

  • Origine : Introduit avec Windows Vista en 2006.
  • Basé sur .NET Framework, supportant des commandes complexes et orientées objet.
  • Utilise des cmdlets (command-lets) pour une flexibilité accrue.

Pourquoi choisir CMD ou PowerShell ?

  • CMD : scripts simples, compatibilité rapide et tâches basiques.
  • PowerShell : tâches complexes, automatisation avancée et administration système.

CMD : Syntaxe et commandes essentielles

Syntaxe générale

commande [options] [arguments]

Commandes fréquentes

Voici une liste des commandes les plus courantes dans CMD :

CommandeDescription
dirListe les fichiers et répertoires
cdChange le répertoire courant
copyCopie un fichier
moveDéplace un fichier
delSupprime un fichier
mkdirCrée un répertoire
rmdirSupprime un répertoire vide
typeAffiche le contenu d'un fichier texte
echoAffiche du texte
setAffiche ou définit des variables d'environnement
clsEfface l'écran

Exemples

Lister les fichiers :

dir

Changer de dossier :

cd C:\Users\Vincent\Documents

Copier un fichier :

copy fichier1.txt fichier2.txt

Options dans CMD : Utilisation du caractère /

Contrairement aux terminaux Unix/Linux (comme bash) où les options d'une commande sont indiquées par un tiret - ou deux tirets --, CMD utilise traditionnellement le caractère barre oblique /.

Par exemple, sous Bash (Linux ou Mac) :

ls -l -a

Mais sous CMD (Windows) :

dir /w /p

Exemple de commandes CMD avec options :

Commande CMDSignification de l'option
dir /wAfficher les fichiers et dossiers en format large (colonnes).
dir /pAfficher les fichiers page par page, en pause.
copy /yCopier un fichier sans demander confirmation pour écraser.
del /qSupprimer les fichiers sans confirmation.
taskkill /IM notepad.exeTerminer une application spécifique (IM signifie Image Name).

Obtenir de l'aide sur les commandes (/ ?)

Contrairement à Unix ou Bash, où l'option --help permet d'obtenir de l'aide sur une commande, l'équivalent sous CMD est d'utiliser l'option /?.

Syntaxe générale :

commande /?

Cette commande affiche une description détaillée ainsi que les différentes options disponibles pour une commande spécifique.

Exemple :

Pour obtenir l'aide de la commande dir, tapez :

dir /?

Variables CMD

Une variable CMD est une référence temporaire permettant de stocker des informations ou des valeurs qui peuvent être utilisées ultérieurement dans une même session CMD ou dans un script batch.

  • Syntaxe :
set nom_variable=valeur
  • Exemple simple :
set utilisateur=Vincent
echo Bonjour %utilisateur%

Par défaut, les variables définies avec la commande set dans une instance de CMD ne sont pas visibles dans une autre instance ouverte simultanément. Chaque instance de CMD maintient ses propres variables indépendamment des autres. Pour créer une variable d'environnement permanente (qui sera visible par toutes les nouvelles sessions CMD), il faut utiliser le panneau de configuration Windows ou l'utilitaire setx :

setx utilisateur Vincent

Scripts batch (.bat)

Les fichiers batch permettent d'automatiser des tâches répétitives.

Exemple complet :

Créer un fichier nommé backup.bat :

@echo off
echo Démarrage de la sauvegarde...

set source=C:\Users\Vincent\Documents\Important
set destination=D:\Backup\Documents\Important

if not exist %destination% mkdir %destination%

copy %source%\*.txt %destination%

echo Sauvegarde terminée.
pause

Exécution de scripts batch

  • Double-cliquer sur le fichier .bat.
  • Depuis CMD : backup.bat.

Références

Il existe de nombreuses ressources pour apprendre à écrire des scripts batch, notamment la documentation officielle de Microsoft et d'autres tutoriels en ligne comme tutorialspoint.

Manipulation avancée avec CMD

Redirection

  • > : envoie la sortie vers un fichier.
  • >> : ajoute à un fichier existant.

Exemple :

dir > liste_fichiers.txt

Pipes (|)

Permet d'envoyer la sortie d'une commande vers une autre.

dir | find "rapport"

Gestion des tâches

Lister les processus :

tasklist

Terminer un processus :

taskkill /IM notepad.exe

Gestion du réseau

Afficher les informations réseau :

ipconfig

Vérifier la connexion réseau :

ping google.com

Conclusion

CMD est un outil essentiel pour les utilisateurs Windows cherchant à automatiser rapidement des tâches simples. Malgré ses limitations par rapport à PowerShell, sa simplicité et sa rapidité en font un bon choix pour des tâches courantes et des scripts simples.