Filtrar archivos y carpetas con PowerShell
-
Filtrar archivos usando el cmdlet
Get-ChildItemen PowerShell -
El alias
Get-ChildItem -
Obtenga todos los archivos dentro de los subdirectorios usando el cmdlet
Get-ChildItemen PowerShell -
Filtrar archivos con condiciones específicas utilizando el cmdlet
Get-ChildItemen PowerShell
Habrá situaciones en las que necesitemos verificar si existen archivos dentro de una ubicación o directorio específico. Aunque podemos usar el comando heredado dir, no sería suficiente exportar solo archivos específicos. Podemos usar el cmdlet Get-ChildItem de Windows PowerShell para este caso de uso.
Este artículo discutirá el cmdlet de PowerShell Get-ChildItem que usaremos para obtener todos los elementos dentro del directorio y utilizar sus parámetros de cambio de filtro.
El cmdlet Get-ChildItem de Windows PowerShell obtiene los elementos secundarios en una ubicación o directorio específico. Por ejemplo, la ubicación especificada en el cmdlet puede ser el directorio del sistema de archivos, el registro o el almacén de certificados. Además, los elementos secundarios mencionados pueden ser otro directorio, subcarpeta o archivo.
Get-ChildItem -Path C:\Temp
En el comando anterior, Get-ChildItem obtiene elementos secundarios de la ruta especificada mediante el parámetro -Path.
Cuando se ejecuta el cmdlet Get-ChildItem, muestra archivos, directorios con sus propiedades Mode, LastWriteTime, Length (tamaño de archivo) y Name en la consola de PowerShell.
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----l 18/01/2022 8:52 pm WindowsPowerShell
d----l 20/12/2021 3:36 pm Zoom
-a---l 30/12/2020 3:23 pm (151) backup phrase.txt
-a---l 17/06/2021 3:13 am (410049) CEF1750.pdf
-a---l 16/05/2020 3:32 am (677) default.cpu1
-a---l 21/08/2019 9:06 am (2240) Default.rdp
-a---l 26/05/2021 8:24 am (63399) e-sig.jpg
-a---l 09/03/2020 10:48 pm (143) fan config.sfsm
-a---l 19/09/2020 12:07 pm (279515089) MCSA.rar
Filtrar archivos usando el cmdlet Get-ChildItem en PowerShell
Podemos usar el parámetro de cambio -File para devolver solo archivos dentro de una ruta o directorio.
Código de ejemplo:
Get-ChildItem -Path C:\Temp -File
Producción :
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---l 30/12/2020 3:23 pm (151) backup phrase.txt
-a---l 17/06/2021 3:13 am (410049) CEF1750.pdf
-a---l 16/05/2020 3:32 am (677) default.cpu1
-a---l 21/08/2019 9:06 am (2240) Default.rdp
-a---l 26/05/2021 8:24 am (63399) e-sig.jpg
-a---l 09/03/2020 10:48 pm (143) fan config.sfsm
-a---l 19/09/2020 12:07 pm (279515089) MCSA.rar
El alias Get-ChildItem
Windows PowerShell usa un alias integrado predeterminado gci para el cmdlet Get-ChildItem. Al igual que el fragmento de código de ejemplo a continuación, puede usar el alias en lugar del cmdlet para una secuencia de comandos más rápida y sin problemas.
Código de ejemplo:
gci -Path C:\Temp -File
Obtenga todos los archivos dentro de los subdirectorios usando el cmdlet Get-ChildItem en PowerShell
Si queremos obtener todos los archivos en directorios y subdirectorios, use el parámetro de cambio -Recurse.
Código de ejemplo:
gci -Path C:\Temp -Recurse - Force -File
Nota: El parámetro -Force permite que el cmdlet obtenga elementos a los que el usuario no puede acceder de otro modo, como archivos del sistema o archivos ocultos. El parámetro Force no anula las restricciones de seguridad. La implementación varía entre los proveedores.
Filtrar archivos con condiciones específicas utilizando el cmdlet Get-ChildItem en PowerShell
Usando el parámetro -Filter, podemos filtrar los resultados usando una sola expresión. El parámetro -Filter no requiere el parámetro -Path, ya que utilizará su directorio de trabajo actual.
Código de ejemplo:
gci -Filter C:\Temp\* -Filter *.txt
También podemos usar los parámetros del interruptor -Include, que acepta múltiples condiciones, una excelente ventaja para el parámetro -Filter. Sin embargo, recuerde que el parámetro -Include requiere que el parámetro -Path esté presente en la expresión.
Código de ejemplo:
gci -Path C:\Temp\* -File -Include CEF*.pdf, *.txt
Además de aceptar múltiples condiciones, el parámetro -Include funciona bien con expresiones regulares, lo que lo convierte en un método más versátil que el parámetro -Filter.
Producción :
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---l 30/12/2020 3:23 pm (151) backup phrase.txt
-a---l 17/06/2021 3:13 am (410049) CEF1750.pdf
Nota: La ruta debe incluir un asterisco comodín (*) al final cuando se utiliza el parámetro de cambio -Include. Este comodín indica que está consultando todos los elementos secundarios de la ruta que tienen la extensión específica definida en el parámetro -Include.
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedInArtí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
