MS-Dos - Lister le contenu d'un répertoire dans un fichier

Décembre 2016

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...

Autres liens

Tout savoir sur les commandes DOS
Créer des fichiers de commande en Batch
Qu'est-ce qu'un fichier batch ?

A voir également :

Ce document intitulé «  MS-Dos - Lister le contenu d'un répertoire dans un fichier  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.