Crear un listado con los archivos de una carpeta



Contenidos:

Previos

Cómo generar un listado con los nombres de los archivos contenidos en una carpeta

Instrucciones para el método 1º

Comprobamos el resultado

Instrucciones para el método 2º

También puedes ver el siguiente vídeo

 

Crear un listado con los archivos de una carpeta

A veces nos podemos encontrar con la necesidad de generar un listado con los archivos contenidos en una carpeta.

Previos:

Vamos a suponer que tenemos una carpeta con una cantidad de archivos enorme y queremos pasar los títulos de los archivos a un listado de texto o incluso pasarlos a una hoja de Excel. Por ejemplo vamos a suponer que tenemos una carpeta llamada “1001 canciones” y queremos pasar los títulos de las canciones a un listado. ¿Te imaginas tener que copiar una por una las 1001 canciones?

En este artículo vamos a aprender a hacer este listado de forma automática. Así que si estás interesado, continúa leyendo y verás cómo hacerlo.

Podemos hacerlo de varias formas yo te voy a presentar dos métodos.

Cómo generar un listado con los nombres de los archivos contenidos en una carpeta

Instrucciones para el método 1º:

Nos situamos en la carpeta con el contenido que queremos listar y pinchamos en un espacio en blanco en la barra de direcciones. En el sitio marcado con la flecha:

Se pondrá la dirección de color azul. En mi caso:

E:\FONOTECA\sesiones\1001.Songs.You.Must.Hear.Before.You.Die

Entonces solo tienes que escribir “cmd”  y pulsar Enter:

Con esto se abrirá una consola en la ubicación donde están tus archivos. En mi caso:

E:\FONOTECA\sesiones\1001.Songs.You.Must.Hear.Before.You.Die

Nota: Esta forma de abrir una consola en la ubicación de la carpeta a listar, solo es posible a partir de Windows Vista. Si tu Windows es anterior debes abrir una consola y mediante el comando “cd” navegar hasta la ubicación de la carpeta.

Ahora solo tienes que escribir el siguiente código:

En la ventana del «Símbolo del sistema» y presionar «Enter».

Esta sentencia hace que se genere una lista sin atributos de los archivos existentes en la ubicación actual y que sea la entrada de un archivo llamado lista.txt, esto es que sea escrita la lista en el archivo el cual sino existe lo va a generar.

Así de simple.

Ya podemos cerrar la ventana del «Símbolo del sistema» o consola. Nos vamos al directorio o carpeta y podemos comprobar que tenemos un archivo nuevo llamado “lista.txt”:

Comprobamos el resultado:

Si abrimos el archivo «lista.txt». Cada línea del archivo de texto es el nombre de cada uno de los archivos de la carpeta.

Ahora si lo queremos pasar a una hoja de Excel:

Para ello seleccionaremos todo el contenido del archivo lista.txt.

Nota: Para seleccionar todo el contenido de una archivo lo podemos hacer de manera muy cómoda con la combinación de teclas Ctrl + A si es inglés y Ctrl + B si está en español el programa con el que lo tienes abierto. O bien: Editar > Selección > Seleccionar todo.

Después lo copiamos todo (Ctrl + C) o clic con el botón derecho sobre la zona resaltada y seleccionar «Copiar».

O sea Seleccionar y copiar todo.

Abrimos un libro de Excel:

Hacemos clic en la celda de la esquina superior izquierda (A1) y presionamos las teclas Ctrl + V o botón derecho del ratón y pegar.

De esta manera la lista será pegada en la hoja de Excel:

Guardamos el documento y listo, ya tenemos nuestro listado de archivos.

Instrucciones para el método 2º:

Esta segunda manera es un poco más sencilla que la anterior. He realizado un pequeño script que está escrito en un archivo que al hacer doble clic con el ratón sobre él se ejecuta y de manera automática te crea un archivo cuyo contenido es el listado de los nombres de los archivos de la carpeta donde está este script.

Pero vamos por pasos:

  1. Lo primero es descargar el archivo .zip de esta manera, por ejemplo si elegimos descargar desde DropBox:

Desde este enlace:



 

  1. Después extraer el contenido del zip o hacer doble clic sobre el archivo y pulsar el botón Extraer:

 

  1. Copiar el Archivo .bat de la carpeta que acabamos de extraer:

 

Y pegarlo en la carpeta, de donde queramos sacar el listado de archivos:

 

  1. Hacer doble clic con el ratón sobre el archivo que acabas de pegar y listo:

Se genera un archivo de texto debajo, con el nombre de 0000_lista.txt

 

Te acaba de generar un archivo llamado 000_lista.txt el cual contiene la lista de los nombres de los archivos de tu carpeta. Ver el punto: Comprobamos el resultado del método anterior.

Sólo queda guardar nuestro Script para reutilizarlo más veces cuando sea necesario.

También puedes ver el siguiente vídeo:

Si quieres ver estos procesos puedes completar esta información con el siguiente vídeo:

 

Si te gusta comparte:

75 thoughts on “Crear un listado con los archivos de una carpeta

    1. Hola Moix: Puedes comprobar que archivo tendría que haber escrito después o sea a continuación del último que te ha escrito y verificar que no tenga nada extraño (caracteres raros). Lo que está claro es que por alguna razón la ejecución se te rompe en ese punto. Te aconsejo que pruebes.
      Un saludo

    1. Hola muchas gracias por tu dedicación y entrega.
      Una pregunta relacionada, el caso que necesito resolver es similar y se agrega la variable que dentro de una primer carpeta, está contiene 1001 carpetas dentro y en cada una de ellas entonces si hay una serie de «canciones».
      Espero se entienda, muchas gracias nuevamente!

      1. Hola, se me ocurre que puedes cambiar la sentencia y desde CMD Ejecuta en el directorio raiz:
        dir /s /b > lista.txt
        Como ves tan solo he añadido el modificador /s a la sentencia, este modificador /s hace que se ejecute de manera recursiva, esto es, que si lo ejecutas en un directorio y este a su vez contiene otros directorios ira entrando en cado uno de ellos y te creará el listado de todo tu arbol de carpetas partiendo de la que ejecutes la sentencia.

  1. la mejor opcion es ir a la carpeta donde estan tus archivos y copiar la ruta.
    ir al comando cmd teclea CD y pegas la ruta previamente copiada.
    ya estando en la carpeta deseada teclear lo siguiente:
    DIR/B>LISTA.TXT y oprime la tecla enter y listo.
    tendras un archivo llamado LISTA.TXT donde apareceran el nombre y extension de los archivos de esa carpeta.

  2. Hola! Supongo que con dir/b le dices que te cree el txt en la misma carpeta donde has hecho el cmd, pero cómo haces para que te lo ponga en otro sitio? Estoy intentando tal que así, pero no me sale:
    dir/C:\Users\………

  3. quiero crear un .bat para respaldos pero el que tengo respalda toda la carpeta solo quiero los archivos con extencion .xls ya que los otros archivos que estan en la carpeta ya estan respaldados y no tienen movimientos como puedo hacer para hacer el . bat con una extencion en especifico

  4. Esta genial , pero en mi opinion es mas facil asi :

    A)Control E para seleccionar todos los archivos.

    B)Dejando pulsada la tecla SHIFT hacemos click derecho en cualquiera de esto archivos y seleccionamos : «copiar como ruta de acceso»

    Luego pegamos block de notas y sustituimos la ruta del archivo por nada y la comilla simple por nada:

    «C:\Users\miname\Desktop\carpeta_archivos\archivo_1.txt»
    «C:\Users\miname\Desktop\carpeta_archivos\archivo_2.txt»
    «C:\Users\miname\Desktop\carpeta_archivos\archivo_3.txt»
    «C:\Users\miname\Desktop\carpeta_archivos\archivo_4.txt»

    carpeta_archivos\archivo_1.txt
    carpeta_archivos\archivo_2.txt
    carpeta_archivos\archivo_3.txt
    carpeta_archivos\archivo_4.txt

    1. Hola Manuel!!
      Muchas gracias por tu aportación. Esto demuestra que hay muchas maneras de hacer las cosas, por suerte para nosotros.
      Gracias y un saludo!

      1. Gracias Paco, tu solución es buena y si se requiere todos los archivos de las subcarpetas DIR /B /S

        Saludos desde Irapuato, Gto, México

  5. Hola Paco, muchas gracias por tu script, funciona fantástico. Solo veo un pequeño problema, las tildes de los archivos dan error y los sustituye por otro carácter ¿Esto se puede solucionar en una futura versión del script?

    Muchas Gracias.

    1. Hola Juanjo, muy buena la pregunta! Pero te comento algo: existe una especie de norma que debemos cumplir para nombrar archivos y evitar problemas sobre todo fuera de Windows y cuando realizamos algún tipo de procesado con los nombres de los archivos como es el caso. Esta regla o más bien esta recomendación no escrita podría decir:
      Qué debemos evitar para nombrar nuestros archivos:
      1º caracteres que no se encuentren en el inglés como la ñ ç etc.
      2º acentos y / o caracteres extraños.
      3º no usar interrogantes, comas u otros signos de puntuación como + o como paréntesis.
      4º no usar espacios en blanco en cambió usar guiones medios o bajos.
      Pero esta regla te puede ser útil a partir de ahora, pero si quieres solucionar tu problema del listado de archivos, siempre puedes reemplazar con algún editor de textos de una manera automática los caracteres que se repitan por la letra con tilde que veas que puede ser y cambiar los textos.
      Espero que te haya servido, un saludo Juanjo.

      1. Hola Paco, muchas gracias. Comprendo la regla, como diseñador web la empleo para evitar desastres. Pero como usuario de Windows hay que ser muy metódico para tenerla en mente y cumplirla. El problema serán los archivos de terceros, nunca la van a cumplir.
        Gracias por el consejo de sustituir caracteres usaré Notepad++.

        1. Hola de nuevo Juanjo, efectivamente el problema con esto son quizá los archivos de terceros. Es algo que no podemos controlar.
          Está genial la propuesta que haces de sustituir los caracteres con Notepad++.
          Muchas gracias por tu aportación compañero!!! 😉

  6. Muy bien esto de recordar que los «viejos» comandos del DOS siguen siendo muy útiles. Una cosilla: ¿Hay alguna manera de evitar que salga toda la rama del directorio donde están ubicados los archivos que me interesan. Supón que son MP3 pero están en diferentes carpetas. Quiero la lista.txt sólo con «nombre_archivo.mp3» pero eliminando su ubicación:
    E:\01_AVI TRABAJO\2019 TODO\2019 ALT\00AA TERMINADOS\Avant j’‚tais triste.mp3
    E:\01_AVI TRABAJO\2019 TODO\2019 ALT\00AA TERMINADOS\Bait.mp3

    Qué salga solo:
    Avant j’‚tais triste.mp3
    Bait.mp3

    Gracias 😀

  7. hola Paco, gracias por Tus comentarios. Me gustaría hacer un listado de los archivos de una carpeta que a la vez tiene subcarpetas. Como lo hago, gracias nuevamente.

    1. Gracias José:
      Esta pregunta la contesté antes, pero te copio la respuesta 😉
      «Hola, se me ocurre que puedes cambiar la sentencia y desde CMD Ejecuta en el directorio raiz:
      dir /s /b > lista.txt
      Como ves tan solo he añadido el modificador /s a la sentencia, este modificador /s hace que se ejecute de manera recursiva, esto es, que si lo ejecutas en un directorio y este a su vez contiene otros directorios ira entrando en cado uno de ellos y te creará el listado de todo tu arbol de carpetas partiendo de la que ejecutes la sentencia.»

  8. Excelente, una buena solución.
    Sobre los discos en red lo he probado y funciona igual, aunque tengo un acceso directo de este disco de red.
    Gracias.

  9. Hola, ¿cómo podría hacer este ejercicio?
    Leer el contenido de una carpeta y genere un archivo de texto llamado «Reporte de Contenidos.txt» que contenga un listado donde para cada archivo se pueda ver: un secuencial con la posición del archivo en el listado (1, 2, 3…), el nombre del archivo, su tamaño y su fecha de modificación.

  10. Excelente aporte Paco Portillo, me ahorras mucho tiempo en realizar esta tarea; una consulta, podría de alguna forma extraer los atributos de elementos, es decir tamaño del archivo?

  11. Saludos, acabo de probar los ejemplos incluyendo este:
    dir /s /b > lista.txt
    para hacer lista de lo que hay en las carpetas dentro de una carpeta y funcionó TAN BIEN que me pone la ruta de cada archivo.
    Ejemplo:
    C:\Users\Dio\Docs\_RESPALDO-12-03-21\20.-RH\acreditacion\Anteriores\Fotos

    MUCHAS GRACIAS

  12. ¡Hola! ha funcionado perfectamente. Gracias. Si ahora quisiera obtener un listado de la misma carpeta, pero incluyendo todas las propiedades de los archivos que la componen (tamaño, autor, fecha de creación etc)…¿es posible? gracias

  13. Hola,
    Muchas gracias!! Funciona perfectamente.
    ¿Cómo puedo hacer para copiar las propiedades de las carpetas, fecha, tamaño, etc…? Gracias

  14. Hola, excelente aporte, pero deseo saber como usar el comando para saber cuántas páginas tienen muchos PDF dentro de una carpeta.

  15. Muchas gracias por su aporte hermano me ha sido de mucha utilidad aunque le agradecería de corazón que realizara un script para automatizar esta vía que incluya todos los subdirectorios que es la que más uso. Muchas gracias

  16. Cómo puedo hacer eso pero con el contenido de iphone?
    No aparece como unidad lógica… en Mi PC sólo aparece como Iphone y no sé cómo acceder a él por DOS

  17. Muchas gracias
    Medio rabia por el hecho de ir seleccionando carpeta por carpeta. Luego vi tu solucion «desde CMD Ejecutar en el directorio raiz:
    dir /s /b > lista.txt» jaaa

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *