Rekursive Dateisuche mit PowerShell
-
Verwenden Sie das Cmdlet
Get-ChildItemmit dem Schalter-Recursein PowerShell, um Dateien rekursiv zu suchen -
Verwenden Sie das Cmdlet
dirmit dem Schalter-Recursein 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
Verwandter Artikel - PowerShell File
- Wie man Dateien mit FTP in PowerShell hochlädt
- Wie man die Dateiversion in PowerShell erhält
- Wie man eine Textdatei mit Windows PowerShell erstellt
- So fügen Sie Daten mit PowerShell zu einer Datei hinzu
- Abfrage der letzten Schreibzeit der Datei in PowerShell
- CSV-Datei Zeile für Zeile in PowerShell lesen
