web-dev-qa-db-fra.com

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

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

17
Alex G

C'est très très facile avec 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 -> cmdname__ Enter)
  2. Accédez (cd___) au répertoire dont vous voulez répertorier les fichiers.
  3. Entrez dir > output_file_name (par exemple, dir > C:\dir.txt) et appuyez sur Enter.

Ouvrez le fichier texte nouvellement créé (C:\dir.txt) et vous obtiendrez la sortie complète de la commande dirdans 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 voulez envoyer cette sortie dans le fichier texte.

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

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

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

Ouvrez votre répertoire SendToname__:

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

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

Maintenant, en cliquant avec le bouton droit sur n’importe quel répertoire et en sélectionnant le sous-menu SendToname__, vous présenterez votre nouvelle commande pour répertorier le contenu du répertoire.

NOTE: Cela ne fonctionnera que si vous cliquez avec le bouton droit de la souris sur un répertoire et ne listera que le contenu du répertoire sur lequel vous avez fait un clic droit. Il enregistre également la liste dans ce répertoire (pour éviter d’écraser d’autres fichiers). Le script pourrait être facilement modifié pour changer l'emplacement du fichier de liste de sortie.

30
music2myear

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

Pour placer le contenu directement dans le presse-papiers, dirigez simplement la sortie vers clip, c.-à-d. Exécutez dir /b | clip.

8
Bhargav Bhat

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

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

pour les fichiers du répertoire en cours ou

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

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

6
hochl

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

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

supprime le texte "Démarrer dans"

Une fois que la commande a été exécutée une fois, vous pouvez modifier les valeurs par défaut de la fenêtre (par exemple séléction 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é").

1
Ethan

Une autre variante Unix serait

ls -R > myfile.txt 

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

1
ablinkin