Cette astuce s’appuie sur l’astuce intitulée link: / windows-Using_Batch_Files_Part_1 [Using Batch Files, Part 1], donc vous voudrez peut-être vérifier cela avant de continuer. Plus précisément, nous travaillons avec un fichier appelé « C: \ Bat \ Fun.bat », affichez donc une fenêtre d’invite de commande et changez votre répertoire par défaut en C: \ Bat. Lancez le bloc-notes pour éditer Fun.bat, qui ressemble actuellement à ceci:

@ECHO OFF REM This file demonstrates the use of a few command-line statements ECHO Hello. This is my Fun.bat file.

DIR %1

La dernière commande du fichier est la commande DIR. Il crée une liste de répertoires du dossier spécifié comme premier paramètre passé au fichier de commandes. Si vous ne souhaitez pas que la liste s’affiche à l’écran, vous pouvez utiliser le caractère « > » pour diriger la sortie vers un fichier. Modifions donc Fun.bat pour accepter deux paramètres. Le premier sera le dossier dont vous souhaitez obtenir la liste des répertoires et le second sera le fichier dans lequel vous voulez que cette sortie aille. Votre fichier batch devrait ressembler à ceci:

@ECHO OFF REM This file demonstrates the use of a few command-line statements ECHO Hello. This is my Fun.bat file.

DIR %1 > %2

Vous appelez comme avant sauf que maintenant vous spécifiez le deuxième paramètre sur la ligne de commande:

C:\Bat> Fun.bat C:\Temp C:\Temp\Dirlist.txt

Exécutez le fichier de commandes et vous vous retrouvez avec un fichier appelé C: \ Temp \ Dirlist.txt qui contient la liste des répertoires de tous les fichiers dans le répertoire C: \ Temp.

Disons que vous avez des milliers de fichiers dans votre répertoire C: \ Temp. Au lieu de parcourir la longue liste, vous voudrez peut-être seulement savoir si un fichier particulier est présent et quelle est sa taille. Vous pouvez le faire en « canalisant » la sortie de la commande DIR vers une nouvelle commande, FIND.

En général, la plupart des commandes qui produisent des données de sortie (comme ce qui est produit par DIR) peuvent être utilisées comme entrée d’une autre commande, toutes sur la même ligne. Cela s’appelle « tuyauterie » et le caractère utilisé pour cette opération est la barre verticale (« | »). La commande en attente d’entrée, FIND dans notre cas, apparaît à droite du caractère « pipe » (la barre verticale). Remplaçons donc notre précédente commande DIR par une qui dirige sa sortie vers FIND:

@ECHO OFF REM This file demonstrates the use of a few command-line statements ECHO Hello. This is my Fun.bat file.

DIR %1 | FIND "Dirlist"

L’effet de cette modification est d’exécuter la commande DIR sur le dossier spécifié, mais d’envoyer sa sortie à la commande FIND, qui à son tour recherche cette sortie pour la chaîne « Dirlist » et affiche les résultats à l’écran. Notez que nous ne passerons qu’un seul paramètre – le nom du dossier sur lequel effectuer le DIR. Si vous oubliez et spécifiez un deuxième paramètre, ce n’est pas un problème. Puisqu’il n’y a pas de «% 2» dans le fichier de commandes, tous les paramètres supplémentaires seront ignorés.

Les dernières choses à couvrir dans cette astuce concernent le temps. Il existe une commande appelée « TIME / T » qui affiche l’heure actuelle. Il existe également une commande appelée TIMEOUT qui provoque la pause du travail par lots pendant le nombre de secondes donné. Enfin, il existe un autre caractère spécial que vous pouvez utiliser dans un fichier de commandes, à savoir, l’esperluette (« & »). Il concatène deux (ou plus) commandes qui apparaissent sur la même ligne. Utilisons ces commandes pour afficher l’heure actuelle, attendons cinq secondes et écrivons la nouvelle heure à l’écran. Le fichier batch devrait ressembler à ceci:

@ECHO OFF REM This file demonstrates the use of a few command-line statements ECHO Hello. This is my Fun.bat file.

DIR %1 | FIND "Dirlist"

ECHO The current time is & TIME /T TIMEOUT 5 ECHO The new current time is & TIME /T

C’est un peu plus sur les fichiers batch. Ils peuvent faire tellement plus, mais j’aimerais évaluer l’intérêt qu’ils suscitent avant d’écrire beaucoup plus à leur sujet. Si vous le souhaitez, veuillez indiquer dans les commentaires ci-dessous si vous souhaitez continuer à en savoir plus sur les fichiers batch.

Cette astuce (13103) s’applique à Windows 7, 8 et 10.