Rekursive Dateisuche mit PowerShell
-
Verwenden Sie das Cmdlet
Get-ChildItem
mit dem Schalter-Recurse
in PowerShell, um Dateien rekursiv zu suchen -
Verwenden Sie das Cmdlet
dir
mit dem Schalter-Recurse
in PowerShell, um Dateien rekursiv zu durchsuchen
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