Cómo buscar archivos con extensión en PowerShell
-
Usar
Get-ChildItem
ConFilter
Para Encontrar Archivos Con Extensión En PowerShell -
Usar
Get-ChildItem
ConInclude
Para Encontrar Archivos Con Extensiones En PowerShell - Conclusión

PowerShell es una herramienta versátil y poderosa para gestionar archivos y directorios en tu computadora. Una tarea común es encontrar archivos con extensiones específicas.
En este artículo, exploraremos los métodos para localizar de manera eficiente archivos con extensiones particulares usando el cmdlet Get-ChildItem
en PowerShell.
Usar Get-ChildItem
Con Filter
Para Encontrar Archivos Con Extensión En PowerShell
El comando Get-ChildItem
en el entorno de PowerShell obtiene un ítem de una ubicación especificada. Un ítem puede residir en un contenedor, y un contenedor generalmente es una carpeta.
Además, Get-ChildItem
utiliza un parámetro -Recurse
para obtener ítems de los contenedores hijos o subcontenedores. También incluye un parámetro -Filter
que usa un asterisco (*
) como comodín para obtener todos los archivos con una extensión específica.
Sintaxis:
Get-ChildItem -Path "File Path" -Recurse -File -Filter *.txt
Parámetros:
-Path "Ruta del Archivo"
: Especifica el directorio de inicio de la búsqueda, donde buscaremos extensiones específicas.-Recurse
: Extiende la búsqueda a subdirectorios, proporcionando una búsqueda completa.-File
: Se centra en archivos, no en directorios, asegurando que solo se devuelvan archivos.-Filter *.txt
: Establece el filtro para archivos con la extensión".txt"
. El asterisco (*
) coincide con cualquier carácter antes de".txt"
.
Vamos a dar un ejemplo. El siguiente comando encuentra todos los archivos con la extensión .txt
.
Get-ChildItem "C:\Files\" -Recurse -File -Filter *.txt
En el comando, comenzamos nuestra búsqueda usando el cmdlet Get-ChildItem
en el directorio "C:\Files"
, lo que nos permite recopilar información sobre ítems, ya sean archivos o directorios, dentro de esa ubicación. Para extender nuestra búsqueda a todos los subdirectorios también, incluimos el parámetro -Recurse
.
Luego, para especificar que estamos interesados en archivos y no en directorios, añadimos el parámetro -File
. Finalmente, definimos nuestra condición de filtro usando -Filter *.txt
, que busca archivos que terminan con ".txt"
con el asterisco (*
) funcionando como un caracter comodín para coincidir con cualquier carácter que lo preceda.
De esta manera, instruimos eficazmente a PowerShell para localizar todos los archivos cuyos nombres concluyan en ".txt"
.
Salida:
Directory: C:\Files
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 5/15/2022 11:02 PM 0 file1.txt
-a---- 5/15/2022 11:02 PM 0 file2.txt
-a---- 5/15/2022 11:02 PM 0 file3.txt
Directory: C:\Files\Misc files
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 5/15/2022 11:05 PM 0 file8.txt
Directory: C:\Files\More Files
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 5/15/2022 11:02 PM 0 file4.txt
Directory: C:\Files\More Files\Some More Files
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 5/15/2022 11:03 PM 0 file6.txt
Podríamos agregar el parámetro -Name
al Get-ChildItem
para que solo se muestren las rutas de los archivos en lugar de una salida detallada.
Get-ChildItem "C:\Files\" -Recurse -File -Name -Filter *.txt
Salida:
file1.txt
file2.txt
file3.txt
Misc files\file8.txt
More Files\file4.txt
More Files\Some More Files\file6.txt
Podemos ver, en la salida, que solo muestra los nombres y rutas de los archivos después de ejecutar el comando con el parámetro -Name
.
Usar Get-ChildItem
Con Include
Para Encontrar Archivos Con Extensiones En PowerShell
El comando Get-ChildItem
utiliza el parámetro -Include
que acepta uno o más patrones de cadenas para incluir los ítems coincidentes.
Sintaxis:
Get-ChildItem "File Path" -Recurse -File -Name -Include *.txt
-Path "Ruta del Archivo"
: Especifica el directorio de inicio para la búsqueda, donde buscamos archivos de una extensión específica.-Recurse
: Extiende la búsqueda a todos los subdirectorios, asegurando una búsqueda completa.-File
: Se centra exclusivamente en archivos, excluyendo directorios de los resultados.-Name
: Lista solo los nombres de los archivos en la salida sin información detallada del archivo.-Include *.txt
: Filtra y recupera archivos con la extensión".txt"
en los resultados.
Agregar un asterisco final (*
) a la ruta del archivo es necesario sin la bandera -Recurse
. En ese caso, solo lista los archivos .txt
en la carpeta Files
.
Get-ChildItem "C:\Files\*" -File -Name -Include *.txt
En el comando, usamos el cmdlet Get-ChildItem
para iniciar una búsqueda de archivos dentro del directorio "C:\Files"
y todos sus subdirectorios. Para pinpoint archivos con una extensión ".txt"
, aplicamos una serie de parámetros.
Comenzamos estableciendo la ruta con "C:\Files\*"
, que incluye todos los subdirectorios bajo "C:\Files"
. Al añadir el parámetro -File
, nos concentramos únicamente en archivos, excluyendo directorios.
El parámetro -Name
refina nuestra salida, mostrando solo los nombres de los archivos, mientras que el parámetro -Include *.txt
ajusta la búsqueda filtrando los archivos con la extensión ".txt"
.
Salida:
file1.txt
file2.txt
file3.txt
La salida representa una lista de nombres de archivos con la extensión ".txt"
, que coincide con los criterios que especificamos en nuestro comando de PowerShell.
Conclusión
En este artículo, hemos explorado métodos eficientes para usar el cmdlet Get-ChildItem
en PowerShell para localizar dichos archivos. Hemos cubierto dos enfoques: usando el parámetro -Filter
para precisión y el parámetro -Include
para flexibilidad.
Estas técnicas pueden simplificar tareas como el análisis y la organización de datos, haciendo que la gestión de archivos en un entorno Windows sea más eficiente.
Artículo relacionado - PowerShell File
- Cómo crear un archivo de texto usando Windows PowerShell
- Cómo obtener la versión del archivo en PowerShell
- Cómo subir archivos con FTP en PowerShell
- Cómo agregar datos a un archivo usando PowerShell
- Cómo almacenar el contenido de un archivo de texto en una variable usando PowerShell
- Consulta de la última hora de escritura del archivo en PowerShell