Le DOS sied |
Les commandes DOS envoient par défaut leurs résultats, ou au moins leurs messages, vers la console c'est à dire l'écran. On peut les forcer à rediriger leurs sorties vers un autre périphérique ou un fichier. On utilise pour cela le caractère > (supérieur à).
Pour rediriger le résultat de la commande dir vers l'imprimante LPT1 :
dir c:\windows\command > lpt1
Pour la rediriger vers un fichier :
dir c:\windows\command > c:\test\listdir.txt
Si le fichier existe déjà il est écrasé sinon il est crée. En doublant le caractère de redirection (>>) on ajoute à un fichier déjà crée.
Plus rare d'utilisation, la redirection des entrées indique à une commande d'extraire ses paramètres d'un fichier au lieu de les attendre du clavier. On utilise pour cela le caractère < (inférieur à). Pour trier par ordre alphabétique les lignes d'un fichier liste.txt :
sort < liste.txt
Les lignes de liste.txt sont triées et affichées à l'écran.
On peut bien sûr utiliser simultanément les deux types de redirection comme dans l'exemple suivant :
sort < liste.txt > lst_tri.txt
Le contenu de liste.txt est trié puis enregistré dans le fichier lst_tri.txt.
On peut également rediriger le résultat d'une commande vers une autre commande à l'aide du caractère | (barre verticale). On parle alors du conduit (pipe en anglais).
C'est avec la commande filtre more qu'on utilise le plus fréquemment le conduit. La commande more fractionne les données qu'elle reçoit pour les afficher écran par écran. À chaque écran le DOS marque une pause et affiche le message -- Suite -- et il suffit d'appuyer sur une touche quelconque pour obtenir l'écran suivant.
Contrairement à la commande dir, la commande type (affichage du contenu d'un fichier) ne possède pas le commutateur /p pour arrêter l'affichage à chaque page. Afin de pouvoir lire un fichier avec cette commande on utilise le conduit et la commande more :
type liste.txt | more
Le conduit peut également être utilisé avec les deux autres commandes filtres, find et sort. Il peut également être associé avec les indicateurs de redirections comme dans l'exemple ci-après :
dir /b | find "log" > liste.txt
Le nom de tous les fichiers contenant la chaîne de caractères log est écrit dans le fichier liste.txt. Le commutateur /b indique à la commande dir de n'afficher que le nom des fichiers.