Buscar una cadena en varios archivos y devolver el nombre de los archivos en PowerShell
-
Use el cmdlet
Get-ChildItem
ySelect-String
para buscar una cadena en varios archivos y devolver el nombre de los archivos en PowerShell -
Use
ls
ysls
para buscar una cadena en varios archivos y devolver el nombre de los archivos en PowerShell
Puede ver los archivos presentes en un directorio específico usando PowerShell. También le permite buscar archivos recursivamente para encontrar los archivos presentes en los subdirectorios.
Pero, ¿es posible buscar una cadena en archivos y obtener los nombres de esos archivos en PowerShell? La respuesta es sí. Este tutorial le enseñará a buscar una cadena en varios archivos y devolver el nombre de los archivos en PowerShell.
Use el cmdlet Get-ChildItem
y Select-String
para buscar una cadena en varios archivos y devolver el nombre de los archivos en PowerShell
El cmdlet Get-ChildItem
muestra una lista de archivos y directorios presentes en la ubicación específica. El parámetro -Recurse
ayuda a enumerar todos los archivos, directorios o subdirectorios de forma recursiva. Pero no muestra directorios vacíos en la salida.
El cmdlet Select-String
busca y encuentra patrones de cadenas en los archivos.
El siguiente comando buscará una cadena system
en todos los archivos en el directorio C:\pc
y enumera la ruta completa de un archivo.
Get-ChildItem -Path C:\New -Recurse | Select-String -Pattern 'system' -List | Select Path
Producción :
Path
----
C:\New\literature_review.pdf
C:\New\Proposal.pdf
C:\New\Draft.pdf
C:\New\Report.docx
C:\New\fyp\Forms.docx
También puede mostrar la línea que contiene la cadena si incluye Line
en el comando.
Get-ChildItem -Path C:\New -Recurse | Select-String "system" -List | Select Path,Line
Use ls
y sls
para buscar una cadena en varios archivos y devolver el nombre de los archivos en PowerShell
El comando ls
es popular para listar archivos y directorios en sistemas operativos Unix y similares a Unix. El comando ls
también está disponible en PowerShell y funciona de manera similar.
Si no se especifica la ruta, enumera los archivos y directorios presentes en el directorio de trabajo. Con la opción -r
, ls
enumera los archivos y directorios de forma recursiva.
ls 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
El sls
es un alias para el cmdlet Select-String
. También busca un patrón de cadena en los archivos.
Puede usar el siguiente comando para buscar una cadena en varios archivos y obtener el nombre de los archivos en PowerShell.
ls -r -Path C:\pc | sls 'hello' | select -u Path
Producción :
Path
----
C:\pc\computing\task3\crack
C:\pc\computing\task3\crack1
C:\pc\computing\task3\crack2
C:\pc\computing\task3\cracked
C:\pc\computing\task3\pass
C:\pc\computing\task3\password.txt
C:\pc\computing\task3\pwd
C:\pc\computing\task4\hello