¿Cómo copiar una lista de nombres de archivo a un archivo de texto?


17

¿Cómo puedo copiar los nombres de los archivos en un directorio a un archivo de texto o al portapapeles?


1
Como mencionó hochl, no se da el nombre del sistema operativo ... pero la palabra "lote" se refiere implícitamente a esa famosa "W" ...: S
climenole


Si está de acuerdo con la ruta completa del archivo, mantenga presionada la tecla Mayús, haga clic derecho en los archivos / carpetas resaltados y elija "Copiar como ruta". Esto le dará la ruta completa de todos los archivos / carpetas seleccionados en el portapapeles.
Josh

Respuestas:


31

Es muy, muy fácil en el intérprete de línea de comandos de Windows (todos los sistemas operativos Windows):

  1. Abra un símbolo del sistema (Inicio -> Ejecutar -> cmd Enter)
  2. Navegue ( cd) al directorio cuyos archivos desea enumerar.
  3. Ingrese (por ejemplo, ) y presione .dir > output_file_namedir > C:\dir.txtEnter

Abra el archivo de texto recién creado ( C:\dir.txt) y tendrá la salida completa del dircomando en ese directorio.

El símbolo mayor que ( >) significa la redirección de salida; envía la salida de la mayoría de los comandos a un archivo que especifique y es muy útil para poder registrar la salida de los comandos.

La salida se puede controlar con todas las diversas opciones disponibles para personalizar la salida normal del comando DIR; simplemente agregue la redirección de salida al final de cualquier argumento que desee enviar esa salida al archivo de texto.

Actualización: Crear un menú contextual con el botón derecho para crear una lista de contenido del directorio

Cree un archivo por lotes y guárdelo como %windir%\DirList.bat:

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

Abre tu SendTodirectorio:

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

Crea un nuevo acceso directo que apunte DirList.baty llámalo como quieras.

Ahora, al hacer clic derecho en cualquier directorio y seleccionar el SendTosubmenú, se presentará su nuevo comando para enumerar los contenidos del directorio.

NOTA: Esto solo funcionará cuando haga clic con el botón derecho en un directorio, y solo mostrará el contenido del directorio en el que hizo clic con el botón derecho. También guarda la lista en ese directorio (para evitar sobrescribir otros archivos). El script podría modificarse fácilmente para cambiar dónde se almacena el archivo de la lista de salida.


44
Supongo que te estás perdiendo el /binterruptor. Sin ella, la información adicional, como los tamaños de archivo y las fechas de creación, también se registrarán en el archivo.
Bhargav Bhat

Realmente depende de lo que quiere grabar. Utilicé el conjunto más simple para no confundirlo con información adicional. Verá que agregué información de que la salida se puede personalizar con todas las opciones disponibles del comando DIR.
music2myear

Lo que me gusta hacer es crear un archivo que contiene el comando: dir > dir.txt. Luego puedo copiar ese archivo a cualquier carpeta, ejecutarlo y obtener la lista de archivos de texto allí, sin abrir un símbolo del sistema y navegar por las carpetas.
Steven Noto

Eso funcionaria. Incluso puede haber formas de integrar esta funcionalidad en el menú contextual del botón derecho.
music2myear

Este enlace tiene instrucciones para imprimir una lista, pero podría modificarse fácilmente.
Veré

9

Puede usar dir /b > files.txtdesde la línea de comandos para obtener la lista de nombres de archivo almacenados en files.txt. Agregue un /ssi desea una lista recursiva.

Para colocar el contenido directamente en el portapapeles, simplemente canalice la salida clip, es decir, ejecútelo dir /b | clip.


6

Como no mencionó un sistema operativo, así es cómo funciona en * nix:

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

para archivos en el directorio actual o

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

si desea obtener todos los archivos en un árbol de directorios.


2

Otra variante de Unix sería

ls -R > myfile.txt 

Esto enumeraría todo en el directorio actual y directorios recursivos.


1

Desde el explorador de archivos de Windows, cree un acceso directo en la carpeta SendTo y escriba el siguiente comando:

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

eliminar el texto "Comenzar en"

Después de ejecutar el comando una vez, puede cambiar los valores predeterminados de la ventana (como selección con el mouse, en lugar de Editar → Marcar).

El único problema es que deberá ignorar la primera línea (que dice "archivo no encontrado").

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.