Listar los archivos de una carpeta y subcarpetas: CMD, TXT

Listar los archivos de una carpeta y subcarpetas: CMD, TXT

En ocasiones puede ser útil obtener el listado del contenido de uno o varios directorios y subdirectorios en un archivo de texto, por ejemplo, para crear un catálogo de archivos. Windows no permite realizar esta operación desde el Explorador de archivos, pero sí puedes crear una lista de los archivos de una carpeta desde un comando con CMD, entre otros.

¿Cómo listar carpetas con cmd?

Para listar solo las carpetas (y no los archivos) dentro de un directorio específico usando el Símbolo del sistema (CMD) en Windows, puedes utilizar el comando DIR con algunas opciones específicas:

  • Listar solo las carpetas del directorio actual:
dir /ad
  • Listar solo las carpetas del directorio actual en formato de lista:
dir /ad /b
  • Listar las carpetas de un directorio específico:
dir "C:\ruta\del\directorio" /ad

¿Cómo listar archivos de una carpeta en cmd?

En MS-DOS (o en Windows desde el Símbolo del sistema) es posible enviar la información obtenida por el comando DIR a un archivo de texto en lugar de mostrarla en la pantalla. Esto se logra utilizando el signo de direccionamiento >. Por ejemplo:

dir c:\midirectorio > miarchivo.txt //Guarda la lista de archivos y directorios en el directorio especificado en el archivo "miarchivo.txt"

Si deseas incluir el contenido de más directorios en el mismo archivo, tan solo tienes que ejecutar el comando DIR y utilizar para cada directorio subsiguiente el signo >>, que tiene la misma función que el signo >, pero no borra el contenido del archivo, y más bien le agrega el resultado obtenido por el comando.

dir c:\midirectorio2 >> miarchivo.txt //Agrega la lista de archivos y directorios del directorio especificado al archivo "miarchivo.txt" sin borrar su contenido previo.

El método precedente lista los archivos de un directorio con todos sus detalles, pero tiene el inconveniente de agregar dos líneas de presentación del directorio al inicio del resultado, y dos líneas con la suma del tamaño total de los archivos y su número al final. Sin embargo, el siguiente comando da una lista de los archivos con su ruta completa y un recorrido automático de los subdirectorios:

dir /b /s c:\midirectorio > miarchivo.txt //Crea una lista "limpia" de archivos, mostrando solo los nombres y rutas completas y recorriendo todos los subdirectorios.

¿Cómo se produce el direccionamiento en Windows?

Como habrás podido observar, el comando DIR muestra el contenido de un directorio en la pantalla, mientras que el signo > significa en términos simples: “lo que está a la izquierda del signo será mostrado/guardado en lo que está a la derecha del signo”.

Al utilizar este comando con el signo de direccionamiento, no verás nada en la pantalla, ya que la orden es de guardar el resultado en un archivo de texto en lugar de mostrarlo en pantalla. Puedes utilizar esto con cualquier comando DOS. Por ejemplo:

MEM > miarchivo.txt //Guardará la información de la memoria actual del sistema en el archivo miarchivo.txt.

Incluso es posible dirigir la salida estándar del comando DIR y enviar directamente el resultado a una impresora. Por ejemplo:

dir > lpt1 //Enviará el contenido del directorio actual a la impresora, que lo imprimirá (si está conectada al puerto lpt1...).

¿Cómo listar archivos de un directorio con Python en Windows 10?

Por suerte, listar archivos de un directorio en Windows 10 usando Python es bastante directo gracias a la biblioteca estándar. A continuación, veremos algunos ejemplos:

  • Listar todos los archivos y subdirectorios:
import os

directorio = 'C:\\midirectorio'

archivos = os.listdir(directorio)

for archivo in archivos:

print(archivo)
  • Listar solo archivos:
archivos_solamente = [archivo for archivo in os.listdir(directorio) if os.path.isfile(os.path.join(directorio, archivo))]

for archivo in archivos_solamente:

    print(archivo)
  • Listar archivos y directorios de manera recursiva:
for dirpath, _, filenames in os.walk(directorio):

    for filename in filenames:

        print(os.path.join(dirpath, filename))

¿Cómo crear una macro para listar archivos de carpetas y subcarpetas?

Para crear una macro que liste archivos de carpetas y subcarpetas en Windows, uno de los enfoques más comunes es utilizar Microsoft Excel con VBA (Visual Basic for Applications):

  • Preparación en Excel
  1. Abre Excel y habilita la pestaña "Desarrollador".
  2. Entra al Editor de VBA desde la pestaña "Desarrollador" haciendo clic en "Visual Basic".
  3. Inserta un nuevo módulo (clic derecho en "VBAProject" > Insertar > Módulo).
  • Código VBA:
  1. Pega el siguiente código en el módulo:
Sub ListarArchivos()

    Dim Ruta As String

    Dim Hoja As Worksheet

    Dim FilaActual As Long


    Set Hoja = ThisWorkbook.Sheets(1)

    FilaActual = 1


    With Application.FileDialog(msoFileDialogFolderPicker)

        .Title = "Selecciona la carpeta para listar sus archivos"

        .AllowMultiSelect = False

        If .Show = -1 Then

            Ruta = .SelectedItems(1)

            ListarArchivosRecursivamente Ruta, Hoja, FilaActual

        End If

    End With

End Sub


Sub ListarArchivosRecursivamente(ByVal Ruta As String, Hoja As Worksheet, ByRef FilaActual As Long)

    Dim Archivo As String

    Dim Subcarpeta As String


    Archivo = Dir(Ruta & "\*.*")

    Do While Archivo <> ""

        Hoja.Cells(FilaActual, 1).Value = Ruta & "\" & Archivo

        FilaActual = FilaActual + 1

        Archivo = Dir

    Loop


    Subcarpeta = Dir(Ruta & "\", vbDirectory)

    Do While Subcarpeta <> ""

        If Subcarpeta <> "." And Subcarpeta <> ".." Then

            If (GetAttr(Ruta & "\" & Subcarpeta) And vbDirectory) = vbDirectory Then

                ListarArchivosRecursivamente Ruta & "\" & Subcarpeta, Hoja, FilaActual

            End If

        End If

        Subcarpeta = Dir

    Loop

End Sub
  • Ejecución:
  1. Vuelve a Excel, accede a "Macros" en la pestaña "Desarrollador", selecciona "Listar Archivos" y pulsa "Ejecutar".
  2. Escoge una carpeta. La macro mostrará todos los archivos de dicha carpeta y sus subcarpetas en la hoja de Excel activa. ¡Listo!

¿TIENES OTRAS PREGUNTAS SOBRE WINDOWS? VISITA NUESTRO FORO

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Alrededor del mismo tema

Windows