Filtern von Dateien und Ordnern mithilfe in PowerShell
-
Filtern Sie Dateien mit dem Cmdlet
Get-ChildItem
in PowerShell -
Der
Get-ChildItem
-Alias -
Rufen Sie alle Dateien in Unterverzeichnissen mit dem Cmdlet
Get-ChildItem
in PowerShell ab -
Filtern Sie Dateien mit bestimmten Bedingungen mithilfe des Cmdlets
Get-ChildItem
in PowerShell
Es wird Situationen geben, in denen wir überprüfen müssen, ob Dateien in einem bestimmten Ort oder Verzeichnis vorhanden sind. Obwohl wir den alten Befehl dir
verwenden können, würde es nicht ausreichen, nur bestimmte Dateien zu exportieren. Für diesen Anwendungsfall können wir das Cmdlet Get-ChildItem
von Windows PowerShell verwenden.
In diesem Artikel wird das PowerShell-Cmdlet Get-ChildItem
erläutert, das wir verwenden werden, um alle Elemente im Verzeichnis abzurufen und seine Filterschalterparameter zu verwenden.
Das Windows PowerShell-Cmdlet Get-ChildItem
ruft die untergeordneten Elemente an einem bestimmten Speicherort oder Verzeichnis ab. Der im Cmdlet angegebene Speicherort kann beispielsweise ein Dateisystemverzeichnis, eine Registrierung oder ein Zertifikatspeicher sein. Außerdem können die erwähnten untergeordneten Elemente entweder ein anderes Verzeichnis, ein Unterordner oder eine Datei sein.
Get-ChildItem -Path C:\Temp
Im obigen Befehl ruft Get-ChildItem
untergeordnete Elemente aus dem Pfad ab, der mit dem Parameter -Path
angegeben wurde.
Cmdlet Get-ChildItem zeigt bei Ausführung Dateien, Verzeichnisse mit ihren Eigenschaften Mode
, LastWriteTime
, Length
(Dateigröße) und Name
in der PowerShell-Konsole an.
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----l 18/01/2022 8:52 pm WindowsPowerShell
d----l 20/12/2021 3:36 pm Zoom
-a---l 30/12/2020 3:23 pm (151) backup phrase.txt
-a---l 17/06/2021 3:13 am (410049) CEF1750.pdf
-a---l 16/05/2020 3:32 am (677) default.cpu1
-a---l 21/08/2019 9:06 am (2240) Default.rdp
-a---l 26/05/2021 8:24 am (63399) e-sig.jpg
-a---l 09/03/2020 10:48 pm (143) fan config.sfsm
-a---l 19/09/2020 12:07 pm (279515089) MCSA.rar
Filtern Sie Dateien mit dem Cmdlet Get-ChildItem
in PowerShell
Wir können den Switch-Parameter -File
verwenden, um nur Dateien innerhalb eines Pfads oder Verzeichnisses zurückzugeben.
Beispielcode:
Get-ChildItem -Path C:\Temp -File
Ausgabe:
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---l 30/12/2020 3:23 pm (151) backup phrase.txt
-a---l 17/06/2021 3:13 am (410049) CEF1750.pdf
-a---l 16/05/2020 3:32 am (677) default.cpu1
-a---l 21/08/2019 9:06 am (2240) Default.rdp
-a---l 26/05/2021 8:24 am (63399) e-sig.jpg
-a---l 09/03/2020 10:48 pm (143) fan config.sfsm
-a---l 19/09/2020 12:07 pm (279515089) MCSA.rar
Der Get-ChildItem
-Alias
Windows PowerShell verwendet einen standardmäßig integrierten Alias gci
für das Cmdlet Get-ChildItem
. Wie im folgenden Beispiel-Snippet können Sie den Alias anstelle des Cmdlets für eine schnellere und nahtlose Skripterstellung verwenden.
Beispielcode:
gci -Path C:\Temp -File
Rufen Sie alle Dateien in Unterverzeichnissen mit dem Cmdlet Get-ChildItem
in PowerShell ab
Wenn wir alle Dateien in Verzeichnissen und Unterverzeichnissen erhalten möchten, verwenden Sie den Schalterparameter -Recurse
.
Beispielcode:
gci -Path C:\Temp -Recurse - Force -File
Hinweis: Der Parameter -Force
ermöglicht es dem Cmdlet, Elemente abzurufen, auf die der Benutzer sonst nicht zugreifen kann, z. B. Systemdateien oder versteckte Dateien. Der Force-Parameter überschreibt keine Sicherheitseinschränkungen. Die Implementierung variiert zwischen den Anbietern.
Filtern Sie Dateien mit bestimmten Bedingungen mithilfe des Cmdlets Get-ChildItem
in PowerShell
Mit dem Parameter -Filter
können wir die Ergebnisse mit einem einzigen Ausdruck herausfiltern. Der Parameter -Filter
erfordert den Parameter -Path
nicht, da er Ihr aktuelles Arbeitsverzeichnis verwendet.
Beispielcode:
gci -Filter C:\Temp\* -Filter *.txt
Wir können auch die Schalterparameter -Include
verwenden, die mehrere Bedingungen akzeptieren, ein ausgezeichneter Vorteil gegenüber dem Parameter -Filter
. Denken Sie jedoch daran, dass für den Parameter -Include
der Parameter -Path
im Ausdruck vorhanden sein muss.
Beispielcode:
gci -Path C:\Temp\* -File -Include CEF*.pdf, *.txt
Abgesehen davon, dass mehrere Bedingungen akzeptiert werden, funktioniert der Parameter -Include
gut mit Regex, was ihn zu einer vielseitigeren Methode macht als den Parameter -Filter
.
Ausgabe:
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---l 30/12/2020 3:23 pm (151) backup phrase.txt
-a---l 17/06/2021 3:13 am (410049) CEF1750.pdf
Hinweis: Der Pfad sollte am Ende ein Platzhalter-Sternchen (*
) enthalten, wenn der Schalterparameter -Include
verwendet wird. Dieser Platzhalter gibt an, dass Sie alle untergeordneten Pfadelemente abfragen, die die spezifische Erweiterung haben, die im Parameter -Include
definiert ist.
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedInVerwandter Artikel - PowerShell File
- Abfrage der letzten Schreibzeit der Datei in PowerShell
- CSV-Datei Zeile für Zeile in PowerShell lesen
- Entsperren Sie Dateien mit PowerShell
- Große Datei in PowerShell teilen
- Speichern Sie den Inhalt von Textdateien mithilfe von PowerShell in einer Variablen
- Dateigröße in KB mit PowerShell abrufen