Búsqueda de sitios web

PowerShell: use el objeto Where para filtrar cadenas que terminan en


A menudo, es posible que desee utilizar el cmdlet Where-Object en PowerShell para filtrar archivos que terminan con una cadena específica.

Puede utilizar la siguiente sintaxis básica para hacerlo:

Get-ChildItem 'c:/my/folder' | Where-Object { $_.Basename -match 'text$'}

Esto es lo que hace este ejemplo en particular:

  • Primero, use Get-ChildItem para obtener todos los archivos de la ruta especificada.
  • Luego, use Dónde-Objeto para filtrar archivos cuyo nombre (sin la extensión) termine con la cadena texto.

Tenga en cuenta que el símbolo $ en Regex representa el final de una línea o cadena.

El siguiente ejemplo muestra cómo utilizar esta sintaxis en la práctica.

Ejemplo: utilizar el objeto Where para filtrar cadenas que terminan con un patrón en PowerShell

Supongamos que tenemos una carpeta ubicada en la siguiente ruta:

c:/users/bobbi/data6

Podemos usar el cmdlet Get-ChildItem para recuperar todos los archivos en esta carpeta:

Supongamos que nos gustaría filtrar la carpeta para mostrar solo los archivos que terminan con la cadena coaches.

Podemos utilizar la siguiente sintaxis para hacerlo:

Get-ChildItem 'c:/users/bobbi/data6' | Where-Object { $_.Basename -match 'coaches$'}

La siguiente captura de pantalla muestra cómo utilizar esta sintaxis en la práctica:

Tenga en cuenta que esto devuelve sólo los archivos que terminan con la cadena "coaches":

  • entrenadores_asistentes.txt
  • backup_coaches.txt
  • entrenadores.txt

Tenga en cuenta que esto no devuelve el siguiente archivo que contiene "coaches" pero no termina en él:

coaches_backgrounds.txt

Nota: Usamos $_.Basename para recuperar el nombre base de cada archivo en la carpeta, que representa el archivo. nombre sin la extensión.

Artículos relacionados