Comment exécuter deux commandes sur une seule ligne dans Windows CMD ?

Comment exécuter deux commandes sur une seule ligne dans Windows CMD ?

Comme ceci sur tous les systèmes d’exploitation Microsoft depuis 2000, et toujours valable aujourd’hui :

dir & echo foo

Si vous voulez que la deuxième commande ne s’exécute que si la première s’est terminée avec succès :

dir && echo foo

La syntaxe avec l’esperluette simple (&) pour exécuter plusieurs commandes sur une ligne remonte à Windows XP, Windows 2000 et certaines versions NT antérieures (4.0 au moins, selon un commentateur ici).

Il y a plusieurs autres points à ce sujet que vous trouverez en faisant défiler cette page.

Des données historiques suivent, pour ceux qui les trouveraient instructives.

Avant cela, la syntaxe && n’était qu’une fonctionnalité du shell de remplacement 4DOS avant que cette fonctionnalité ne soit ajoutée à l’interpréteur de commandes Microsoft.

Sous Windows 95, 98 et ME, vous utilisiez plutôt le caractère pipe :

dir | echo foo

Sous MS-DOS 5.0 et versions ultérieures, à travers certaines versions antérieures de Windows et NT de l’interpréteur de commandes, le séparateur de commandes (non documenté) était le caractère 20 (Ctrl+T) que je représenterai par ^T ici.

dir ^T echo foo