在 PowerShell 中在多個檔案中搜尋字串並返回檔名

Rohan Timalsina 2023年1月30日
  1. 在 PowerShell 中使用 Get-ChildItemSelect-String Cmdlet 在多個檔案中搜尋字串並返回檔名
  2. 在 PowerShell 中使用 lssls 在多個檔案中搜尋字串並返回檔名
在 PowerShell 中在多個檔案中搜尋字串並返回檔名

你可以使用 PowerShell 檢視特定目錄中存在的檔案。它還允許你遞迴搜尋檔案以查詢子目錄中存在的檔案。

但是是否可以在檔案中搜尋字串並在 PowerShell 中獲取這些檔案的名稱?答案是肯定的。本教程將教你在多個檔案中搜尋字串並在 PowerShell 中返回檔名。

在 PowerShell 中使用 Get-ChildItemSelect-String Cmdlet 在多個檔案中搜尋字串並返回檔名

Get-ChildItem cmdlet 顯示特定位置中存在的檔案和目錄的列表。 -Recurse 引數有助於遞迴地列出所有檔案、目錄或子目錄。但它不會在輸出中顯示空目錄。

Select-String cmdlet 在檔案中搜尋和查詢字串模式。

以下命令將在 C:\pc 目錄的所有檔案中搜尋字串 system 並列出檔案的完整路徑。

Get-ChildItem -Path C:\New -Recurse | Select-String -Pattern 'system' -List | Select Path

輸出:

Path
----
C:\New\literature_review.pdf
C:\New\Proposal.pdf
C:\New\Draft.pdf
C:\New\Report.docx
C:\New\fyp\Forms.docx

如果你在命令中包含 Line,你還可以顯示包含字串的行。

Get-ChildItem -Path C:\New -Recurse | Select-String "system" -List | Select Path,Line

在 PowerShell 中使用 lssls 在多個檔案中搜尋字串並返回檔名

ls 命令在列出 Unix 和類 Unix 作業系統中的檔案和目錄時很流行。ls 命令也可在 PowerShell 中使用,並且功能類似。

如果未指定路徑,它將列出工作目錄中存在的檔案和目錄。使用 -r 選項,ls 遞迴地列出檔案和目錄。

ls C:\pc

輸出:

    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

slsSelect-String cmdlet 的別名。它還在檔案中搜尋字串模式。

你可以使用以下命令在多個檔案中搜尋字串並在 PowerShell 中獲取檔名。

ls -r -Path C:\pc | sls 'hello' | select -u Path

輸出:

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
作者: Rohan Timalsina
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

相關文章 - PowerShell String