Rekursive Dateisuche mit PowerShell

Rohan Timalsina 30 Januar 2023
  1. Verwenden Sie das Cmdlet Get-ChildItem mit dem Schalter -Recurse in PowerShell, um Dateien rekursiv zu suchen
  2. Verwenden Sie das Cmdlet dir mit dem Schalter -Recurse in PowerShell, um Dateien rekursiv zu durchsuchen
Rekursive Dateisuche mit PowerShell

Manchmal speichern wir eine Datei auf einem Computer und vergessen, wo wir sie gespeichert haben. Es gibt verschiedene Möglichkeiten, Dateien auf dem Computer zu durchsuchen. Eine davon ist PowerShell, mit der Sie Dateien und Verzeichnisse auflisten können, die an einem bestimmten Ort vorhanden sind.

In diesem Tutorial erfahren Sie, wie Sie mit PowerShell rekursiv nach Dateien suchen.

Verwenden Sie das Cmdlet Get-ChildItem mit dem Schalter -Recurse in PowerShell, um Dateien rekursiv zu suchen

Das Cmdlet Get-ChildItem zeigt eine Liste von Dateien und Verzeichnissen an einem bestimmten Ort an. Es zeigt keine leeren Verzeichnisse, wenn es mit dem Parameter -Recurse verwendet wird.

Der folgende Befehl zeigt beispielsweise die Liste der Dateien und Verzeichnisse an, die im Verzeichnis C:\pc vorhanden sind.

Get-ChildItem -Path C:\pc

Ausgabe:

    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

Mit dem Parameter -Recurse können Sie die Dateien aus allen Verzeichnissen oder Unterverzeichnissen von den angegebenen Orten abrufen. Das bedeutet, dass Sie die Dateien mit PowerShell rekursiv an einem bestimmten Ort durchsuchen können.

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

Wie Sie unten sehen können, befindet sich die car.png im Verzeichnis C:\pc\computing\task4. Es werden alle car.png-Dateien angezeigt, wenn sie in mehreren Verzeichnissen gefunden werden.

Ausgabe:

    Directory: C:\pc\computing\task4


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

Wenn Sie den Dateinamen nicht kennen, können Sie alle Dateien mit derselben Dateierweiterung durchsuchen. Der folgende Befehl zeigt beispielsweise alle Dateien mit der Erweiterung .txt im Verzeichnis C:\pc an.

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

Die angezeigte Ausgabe ist normalerweise groß, da sie den Path, Mode, LastWriteTime, Length und Name einer Datei enthält. Den Pfad einer Datei können Sie nur mit | anzeigen %{$_.FullName}.

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

Ausgabe:

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

Verwenden Sie das Cmdlet dir mit dem Schalter -Recurse in PowerShell, um Dateien rekursiv zu durchsuchen

Das Cmdlet dir ist ein Alias ​​für Get-ChildItem. Es zeigt auch eine Liste von Dateien und Verzeichnissen am jeweiligen Ort an.

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

Ausgabe:

    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

Verwandter Artikel - PowerShell File