使用 PowerShell 進行遞迴檔案搜尋

Rohan Timalsina 2023年1月30日 2022年5月16日
  1. 在 PowerShell 中使用帶有 -Recurse 開關的 Get-ChildItem Cmdlet 以遞迴方式搜尋檔案
  2. 在 PowerShell 中使用帶有 -Recurse 開關的 dir Cmdlet 以遞迴方式搜尋檔案
使用 PowerShell 進行遞迴檔案搜尋

有時,我們將檔案儲存在計算機上卻忘記了儲存位置。有多種方法可以在計算機上搜尋檔案。其中之一是 PowerShell,它允許你列出存在於特定位置的檔案和目錄。

本教程將教你使用 PowerShell 遞迴搜尋檔案。

在 PowerShell 中使用帶有 -Recurse 開關的 Get-ChildItem Cmdlet 以遞迴方式搜尋檔案

Get-ChildItem cmdlet 顯示特定位置的檔案和目錄列表。與 -Recurse 引數一起使用時,它不會顯示空目錄。

例如,以下命令顯示存在於 C:\pc 目錄中的檔案和目錄的列表。

Get-ChildItem -Path 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

使用 -Recurse 引數,你可以從指定位置的所有目錄或子目錄中獲取檔案。這意味著你可以使用 PowerShell 在特定位置遞迴搜尋檔案。

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

正如你在下面看到的,car.png 位於目錄 C:\pc\computing\task4 中。如果在多個目錄中找到,它將顯示所有 car.png 檔案。

輸出:

    Directory: C:\pc\computing\task4


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

如果你不知道檔名,你可以搜尋所有具有相同副檔名的檔案。例如,下面的命令將顯示 C:\pc 目錄中所有具有 .txt 副檔名的檔案。

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

顯示的輸出通常很大,因為它包括檔案的 PathModeLastWriteTimeLengthName。你只能用| %{$_.FullName} 顯示檔案的路徑。

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

輸出:

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

在 PowerShell 中使用帶有 -Recurse 開關的 dir Cmdlet 以遞迴方式搜尋檔案

dir cmdlet 是 Get-ChildItem 的別名。它還顯示特定位置的檔案和目錄列表。

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

輸出:

    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

相關文章 - PowerShell File