baissaoui
Messages postés498Date d'inscriptionjeudi 2 septembre 2021StatutWebmasterDernière intervention21 août 2024
-
11 juil. 2022 à 15:36
Il peut s'avérer pratique d'effectuer le listage d'un ou plusieurs répertoires dans un fichier, afin de tenir par exemple un catalogue de fichiers.
Sous MS-Dos (ou sous Windows en ouvrant une fenêtre d'invite de commande MS-Dos) il est possible d'envoyer la sortie d'une commande vers un fichier grâce à la redirection > :
dir c:\monrep > monfichier.txt
Si on souhaite lister plusieurs répertoires, il suffit de lancer une première fois la commande ci-dessus et utiliser, pour tous les répertoires suivants, la redirection >>, qui a pour effet de concaténer la sortie à la suite du fichier :
dir c:\monrep2 >> monfichier.txt
La méthode précédente donne une liste des fichiers d'un SEUL répertoire avec tous les détails, mais à l'inconvénient d'ajouter deux lignes de présentation du répertoire au début du résultat, et deux lignes cumulant la taille totale des fichiers et leur nombre à la fin.
Une autre commande donne la liste des fichiers avec un chemin complet et un parcours automatique des sous-répertoires, est :
dir /b /s c:\monrep > monfichier.txt
Comment ça marche, la redirection?
Comme vous avez déjà remarqué, dir affiche le contenu d'un répertoire sur l'écran. Le signe > signifie: "ce qui est à gauche du signe va être affiché/enregistré dans ce qui est a droite du signe".
Vous ne verrez rien à l'écran, parce que ce signe signifie de l'"afficher" dans un ficher texte plutôt que sur l'écran. Vous pouvez faire ceci avec n'importe quelle commande DOS (par exemple, mem > monfichier.txt va enregistrer des informations sur votre mémoire dans le fichier monfichier.txt). Pour imprimer directement, on peut rediriger la sortie du programme (stdout) vers une imprimante, par exemple, avec
dir > lpt1
ce qui enverra le contenu du répertoire courant à votre imprimante, qui l'imprimera (si elle est branchée sur votre port lpt1...).
>> est un opérateur spécial qui efface ce qui est sur le périphérique de sortie avant de l'afficher...