
Envoyé par
Divarius
Pourriez-vous m'expliquer cette syntaxe, en particulier la présence d'un demi-slash dans cette ligne?

Ce caractère de redirection "|", appelé " Pipe " (canal, tuyau) en anglais permet de rediriger la sortie d’une commande vers l’entrée d’une autre.
Ce caractère s’obtient en maintenant la touche ALT enfoncé en tapant 124 au clavier (ou AltGr + 6).
Prenons un exemple bien connu : en tapant " DEL *.* " afin d’effacer le contenu d’un répertoire, un message de confirmation apparaît, demandant l’appui sur la touche " o " (pour OUI) pour continuer. Il serait intéressant de supprimer ce message de confirmation qui interrompt le déroulement d‘un batch, afin que la commande s’exécute " toute seule " sans besoin d’une validation quelconque de l’utilisateur.
La commande suivante permet de résoudre ce problème :
La " sortie " de la commande echo (le caractère " o ") est envoyée vers " l’entrée " de la commande DEL. Lorsque le message sera affiché, MS-DOS considèrera le caractère reçu comme une réponse au message et continuera l’exécution du batch.
Dans notre cas, ce sera comme une " validation " à la question " Pressez o pour continuer, n pour annuler ".
On retrouve aussi ce caractère dans l’utilisation quotidienne du DOS : le fait d’accoler " |more " à une commande standard permet que son résultat, s’il prend plusieurs écrans, ne soit pas affiché d’un coup mais en autant de fois qu’il le faut pour faciliter la lecture. Ainsi, testez sous DOS :
1 2
| CD %WINDIR%
DIR *.*|MORE |
La liste sera affichée en plusieurs fois : à chaque écran, le DOS vous demande de presser une touche pour continuer le défilement.
Maintenant A votre avis que fait la commande suivante ?
Dir %drive%\/s | find %file%
Partager