Ligne de commande Windows

Il est possible aujourd’hui d’administrer son poste informatique Windows via un ensemble d’User Interface : le système de fenêtrage. Néanmoins, avant l’évolution des IHM, Interface Homme Machine, l’administration d’un poste informatique passé par des ligne de commande ou CLI (Command Line Interface / Interpreter) à appliquer dans le DOS (pour Windows). Aujourd’hui il est toujours possible d’effectuer certaines autorisation via des lignes de commandes.

De quel langage s’agit-t-il ?

A priori il s’agit pas vraiment d’un langage, mais d’un ensemble d’instruction Windows. Les lignes de commandes sont des opérations que peut effectuer le système d’exploitation Windows. On trouve toutefois une appellation « batch script » pour identifier ce langage de script natif à Windows.

Elles semblent liées au Command SHELL et sont utilisées dans des fichiers Batch ou via des outils de scripts (l’Invite de commande windows semble en être un).

Source : https://docs.microsoft.com/fr-fr/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc754340(v%3dws.10)

Chacune des commande a toutefois sa grammaire et prend des arguments/paramètres différents. La syntax utilisée par windows pour présenté chaque commande est celle-ci

Text without brackets or braces Items you must type as shown
<Text inside angle brackets> Placeholder for which you must supply a value
[Text inside square brackets] Optional items
{Text inside braces} Set of required items; choose one
Vertical bar (|) Separator for mutually exclusive items; choose one
Ellipsis (…) Items that can be repeated

Source : https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc771080(v%3dws.10)

De plus, ces commandes ont des conjonctions de coordinations :

& […] command1 & command2 Use to separate multiple commands on one command line. Cmd.exe runs the first command, and then the second command.
&& […] command1 && command2 Use to run the command following && only if the command preceding the symbol is successful. Cmd.exe runs the first command, and then runs the second command only if the first command completed successfully.
|| […] command1 || command2 Use to run the command following || only if the command preceding || fails. Cmd.exe runs the first command, and then runs the second command only if the first command did not complete successfully (receives an error code greater than zero).
( ) […] ( command1 & command2) Use to group or nest multiple commands.
; or , command1 parameter1;parameter2 Use to separate command parameters.

Source : https://technet.microsoft.com/en-us/library/bb490954.aspx

Existe-t-il d’autres commande ?

Il existe de nombreuses autres commandes : Append, FindHostname, LogmanNet share, RenameUmount
La liste exhaustive est disponible ici : https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc772390(v%3dws.10)

Un lien CNET présentent celles-ci comme étant les plus connues

  • CHKDSK : Vérifie un disque et affiche un rapport d’état.
  • CLS : Efface l’écran.
  • CMD : Exécute une nouvelle instance de l’interpréteur de commandes de Windows.
  • COLOR : Modifie les couleurs du premier plan et de l’arrière-plan de la console.
  • COMPACT : Modifie ou affiche la compression des fichiers sur une partition NTFS.
  • CONVERT : Convertit des volumes FAT en volumes NTFS. Vous ne pouvez pas convertir le lecteur en cours d’utilisation.
  • COPY : Copie un ou plusieurs fichiers.
  • DATE : Affiche ou définit la date.
  • DEL : Supprime un ou plusieurs fichiers.
  • DIR : Affiche la liste des fichiers et des sous-répertoires d’un répertoire.
  • DRIVERQUERY : Affiche l’état et les propriétés du pilote de périphérique en cours d’utilisation.
  • ECHO : Affiche des messages ou active/désactive l’affichage des commandes.
  • ENDLOCAL : Stoppe la localisation des modifications d’environnement dans un fichier de commandes.
  • ERASE : Supprime un ou plusieurs fichiers.
  • EXIT : Quitte l’interpréteur de commandes (CMD.EXE).
  • FIND : Recherche une chaîne de caractères dans un ou plusieurs fichiers.
  • FINDSTR : Cherche des chaînes dans les fichiers.
  • FOR : Exécute une commande sur chaque fichier d’un ensemble de fichiers.
  • FORMAT : Formate un disque devant être utilisé avec Windows.
  • GPRESULT : Affiche les informations de stratégie de groupe pour un ordinateur ou un utilisateur.
  • HELP : Affiche des informations sur les commandes de Windows.
  • IF : Effectue un traitement conditionnel dans un fichier de commandes.
  • LABEL : Crée, modifie ou supprime le nom de volume d’un disque.
  • MD : Crée un répertoire.
  • MKDIR : Crée un répertoire.
  • RD : Supprime un répertoire.
  • RECOVER : Récupère l’information lisible d’un disque défectueux.
  • REM : Insère un commentaire dans un fichier de commandes ou CONFIG.SYS.
  • RMDIR : Supprime un répertoire.
  • SET : Affiche, définit ou supprime des variables d’environnement Windows.
  • SETLOCAL : Commence la localisation des modifications d’environnement dans un fichier de commandes.
  • SC : Affiche ou configure les services (processus en arrière-plan).
  • SHUTDOWN : Permet un arrêt local ou distant correct de l’ordinateur.
  • SORT : Trie les entrées.
  • START : Ouvre une fenêtre séparée pour l’exécution d’un programme ou d’une commande spécifique.
  • SUBST : Associe un chemin d’accès à une lettre de lecteur.
  • SYSTEMINFO : Affiche les propriétés et la configuration spécifiques de l’ordinateur.
  • TASKLIST : Affiche toutes les tâches en cours d’exécution, y compris les services.
  • TASKKILL : Termine ou interrompt un processus ou une application en cours d’exécution.
  • TIME : Affiche ou définit l’heure du système.
  • TITLE : Définit le titre de la fenêtre pour une session CMD.EXE.
  • TREE : Affiche le graphisme de la structure de répertoire d’un lecteur ou d’un chemin d’accès.
  • TYPE : Affiche le contenu d’un fichier texte.
  • VER : Affiche la version de Windows.
  • VERIFY : Demande à Windows de vérifier si vos fichiers sont correctement écrits sur le disque.
  • VOL : Affiche le nom et le numéro de série d’un volume de disque.
  • XCOPY : Copie les fichiers et les arborescences de répertoires.

Source : http://forums.cnetfrance.fr/topic/1216209-commandes-de-base-de-l-invite-de-commande-dos-windows/

Des mots clés/variables

Enfin un ensemble de mot clé est utilisable pour accéder à différentes données de base.

%ALLUSERSPROFILE% Old Windows – Windows 10 C:\Documents and Settings\All Users C:\ProgramData
%APPDATA% Old Windows – Windows 10 C:\Documents and Settings\{username}\Application Data C:\Users\{username}\AppData\Roaming
%CommonProgramFiles% Old Windows – Windows 10 C:\Program Files\Common Files C:\Program Files\Common Files

https://en.wikipedia.org/wiki/Environment_variable#Default_values

Qu’est-ce qu’un fichier .bat qui semble exécuter la commande ?

Les Fichiers Batch (« lot » en anglais) permettront l’exécution de plusieurs commandes Windows les unes après les autres lors de son utilisation ; ces fichiers se finissent par .bat.

Le site Développez.com explique simplement ce que c’est :

Il s’agit de simples fichiers textes contenant des lignes de commande qui sont exécutées séquentiellement, l’une après l’autre. Ces fichiers utilisent l’extension spéciale « .bat » ou « .cmd ». Les fichiers de ces types sont reconnus et exécutés via une interface (parfois appelée console) fournie par le système et appelée interpréteur de commandes. Dans Windows XP/Vista, l’interpréteur de commandes est le fichier cmd.exe. Le grand assortiment des commandes polyvalentes disponibles dans Windows XP / Vista fait des fichiers batch un outil puissant.

Un fichier batch est simplement créé en ouvrant n’importe quel éditeur de texte comme Notepad, en entrant quelques lignes contenant des commandes, et en sauvant le fichier avec une extension .bat ou .cmd. (L’extension CMD est limitée aux versions de Windows les plus récentes et les fichiers .cmd ne sont pas reconnus sur les systèmes Windows 9x/Me. Dans Windows XP et Vista, il ya peu de différences entre les deux extensions). N’utilisez pas Wordpad ou Word à moins que vous ne fassiez très attention à sauvegarder les fichiers au format texte pur. Les commandes elles-mêmes sont souvent très simples et il n’y a pas besoin d’apprendre un langage de programmation.
Sources
  • https://en.wikipedia.org/wiki/Environment_variable#Default_values
  • https://windows.developpez.com/cours/ligne-commande/?page=page_24#LXXIV-A