Comment copier une liste de noms de fichiers dans un fichier texte?

17

Comment puis-je copier les noms des fichiers d'un répertoire dans un fichier texte ou dans un presse-papiers?

Alex G
la source
1
Comme mentionné par hochl, vous ne donnez pas le nom du système d'exploitation ... mais le mot "batch" fait implicitement référence à ce fameux "W" ...: S
climenole
Copie possible de la liste Créer un fichier / dossier
Dmitry Grigoryev
Si vous êtes d'accord avec le chemin de fichier complet, maintenez la touche Maj enfoncée, faites un clic droit sur vos fichiers / dossiers en surbrillance et choisissez "Copier comme chemin". Cela vous donnera le chemin complet de tous les fichiers / dossiers sélectionnés dans le presse-papiers.
Josh

Réponses:

31

C'est très, très facile dans l'interpréteur de ligne de commande Windows (tous les systèmes d'exploitation Windows):

  1. Ouvrez une invite de commande (Démarrer -> Exécuter -> cmd Enter)
  2. Accédez ( cd) au répertoire dont vous souhaitez répertorier les fichiers.
  3. Entrez (par exemple, ) et appuyez sur .dir > output_file_namedir > C:\dir.txtEnter

Ouvrez le fichier texte nouvellement créé ( C:\dir.txt) et vous aurez la sortie complète de la dircommande dans ce répertoire.

Le symbole supérieur à ( >) signifie la redirection de sortie; il envoie la sortie de la plupart des commandes vers un fichier que vous spécifiez et est très pratique pour pouvoir enregistrer la sortie des commandes.

La sortie peut être contrôlée avec toutes les différentes options disponibles pour personnaliser la sortie normale de la commande DIR; ajoutez simplement la redirection de sortie à la fin des arguments que vous souhaitez envoyer cette sortie au fichier texte.

Mise à jour: création d'un menu contextuel avec clic droit pour créer la liste du contenu du répertoire

Créez un fichier batch et enregistrez-le sous %windir%\DirList.bat:

@echo off
set dirpath=%1
dir %dirpath% /-p /o:gn > "%dirpath%\DirContents.txt"
exit

Ouvrez votre SendToannuaire:

Windows 7 / Vista: %appdata%\Microsoft\Windows\SendTo
Windows XP:%USERPROFILE%\SendTo

Créez un nouveau raccourci pointant vers DirList.batet appelez-le comme bon vous semble.

Maintenant, un clic droit sur n'importe quel répertoire et la sélection du SendTosous-menu présentera votre nouvelle commande pour lister le contenu du répertoire.

REMARQUE: cela ne fonctionne que lorsque vous cliquez avec le bouton droit sur un répertoire, et il répertorie uniquement le contenu du répertoire sur lequel vous avez cliqué avec le bouton droit. Il enregistre également la liste dans ce répertoire (pour éviter d'écraser d'autres fichiers). Le script peut être facilement modifié pour changer l'emplacement de stockage du fichier de liste de sortie.

music2myear
la source
4
Je suppose que vous manquez l' /binterrupteur. Sans cela, des informations supplémentaires telles que la taille des fichiers et les dates de création seront également enregistrées dans le fichier.
Bhargav Bhat
Cela dépend vraiment de ce qu'il veut enregistrer. J'ai utilisé l'ensemble le plus simple afin de ne pas confondre avec des informations supplémentaires. Vous verrez que j'ai ajouté des informations selon lesquelles la sortie peut être personnalisée avec toutes les options disponibles de la commande DIR.
music2myear
Ce que je veux faire est de créer un fichier .bat contenant la commande: dir > dir.txt. Ensuite, je peux copier ce fichier dans n'importe quel dossier, l'exécuter et obtenir la liste des fichiers texte ici, sans ouvrir une invite de commande et parcourir les dossiers.
Steven Noto
Ça marcherait. Il peut même y avoir des moyens d'intégrer cette fonctionnalité dans le menu contextuel du clic droit.
music2myear
Ce lien contient des instructions pour imprimer une liste, mais il pourrait être facilement modifié. Je vais voir si je peux mettre quelque chose ensemble cet après - midi: watchingthenet.com/...
music2myear
9

Vous pouvez utiliser à dir /b > files.txtpartir de la ligne de commande pour obtenir la liste des noms de fichiers stockés dans files.txt. Ajoutez un /ssi vous voulez une liste récursive.

Pour placer le contenu directement dans le presse-papiers, il suffit de diriger la sortie vers clip, c'est- à -dire d'exécuter dir /b | clip.

Bhargav Bhat
la source
6

Puisque vous n'avez pas mentionné de système d'exploitation, voici comment il fonctionne sur * nix:

$ find . -maxdepth 1 -type f > /tmp/files.txt

pour les fichiers du répertoire courant ou

$ find . -type f > /tmp/files.txt

si vous souhaitez obtenir tous les fichiers dans une arborescence de répertoires.

hochl
la source
2

Une autre variante Unix serait

ls -R > myfile.txt 

Cela listerait tout dans le répertoire courant et les répertoires récursifs.

ablinkin
la source
1

Depuis l'explorateur de fichiers de Windows, créez un raccourci dans le dossier SendTo et tapez la commande suivante:

%windir%\system32\cmd.exe /k dir /b "%1"

supprimer le texte "Démarrer dans"

Une fois la commande exécutée une fois, vous pouvez modifier les valeurs par défaut de la fenêtre (comme la sélection avec la souris, au lieu de Édition → Marquer).

Le seul problème est que vous devrez ignorer la première ligne (qui dit "fichier non trouvé").

Ethan
la source