Búsqueda recursiva de archivos con PowerShell

Rohan Timalsina 30 enero 2023
  1. Use el cmdlet Get-ChildItem con el interruptor -Recurse en PowerShell para buscar archivos de forma recursiva
  2. Use el cmdlet dir con el interruptor -Recurse en PowerShell para buscar archivos de forma recursiva
Búsqueda recursiva de archivos con PowerShell

A veces, guardamos un archivo en una computadora y olvidamos dónde lo guardamos. Hay diferentes formas de buscar archivos en la computadora. Uno de ellos es PowerShell, que le permite enumerar archivos y directorios presentes en una ubicación específica.

Este tutorial le enseñará a buscar archivos recursivamente usando PowerShell.

Use el cmdlet Get-ChildItem con el interruptor -Recurse en PowerShell para buscar archivos de forma recursiva

El cmdlet Get-ChildItem muestra una lista de archivos y directorios en la ubicación específica. No muestra directorios vacíos cuando se usa con el parámetro -Recurse.

Por ejemplo, el siguiente comando muestra la lista de archivos y directorios presentes en el directorio C:\pc.

Get-ChildItem -Path C:\pc

Producción :

    Directory: C:\pc


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----          1/2/2022   2:53 PM                computing
d-----          1/2/2022   1:24 PM                New folder
-a----          1/2/2022   1:36 PM          17384 hello
-a----          1/2/2022   2:48 PM           5134 matrix.c
-a----        12/26/2020   7:03 PM            321 ReadMe.txt

Con el parámetro -Recurse, puede obtener los archivos de todos los directorios o subdirectorios de las ubicaciones especificadas. Significa que puede buscar los archivos de forma recursiva en una ubicación específica utilizando PowerShell.

Get-ChildItem -Path C:\pc -Filter car.png -Recurse -ErrorAction SilentlyContinue -Force

Como puede ver a continuación, el car.png se encuentra en el directorio C:\pc\computing\task4. Mostrará todos los archivos car.png si se encuentran en varios directorios.

Producción :

    Directory: C:\pc\computing\task4


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----          1/3/2022   2:26 PM           3465 car.png

Si no conoce el nombre del archivo, puede buscar todos los archivos con la misma extensión de archivo. Por ejemplo, el siguiente comando mostrará todos los archivos que tengan la extensión .txt en el directorio C:\pc.

Get-ChildItem -Path C:\pc -Filter *.txt -Recurse -ErrorAction SilentlyContinue -Force

La salida que se muestra suele ser grande porque incluye la Path, Mode, LastWriteTime, Length y Name de un archivo. Solo puede mostrar la ruta de un archivo usando | %{$_.NombreCompleto}.

Get-ChildItem -Path C:\pc -Filter *.txt -Recurse -ErrorAction SilentlyContinue -Force | %{$_.FullName}

Producción :

C:\pc\ReadMe.txt
C:\pc\computing\task1\MatrixA.txt
C:\pc\computing\task3\password.txt

Use el cmdlet dir con el interruptor -Recurse en PowerShell para buscar archivos de forma recursiva

El cmdlet dir es un alias para Get-ChildItem. También muestra una lista de archivos y directorios en la ubicación específica.

dir -Path C:\pc -Filter password.txt -Recurse

Producción :

    Directory: C:\pc\computing\task3


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----          1/7/2022   3:43 PM             18 password.txt
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

Artículo relacionado - PowerShell File