Filtern von Dateien und Ordnern mithilfe in PowerShell
-
Filtern Sie Dateien mit dem Cmdlet
Get-ChildItemin PowerShell -
Der
Get-ChildItem-Alias -
Rufen Sie alle Dateien in Unterverzeichnissen mit dem Cmdlet
Get-ChildItemin PowerShell ab -
Filtern Sie Dateien mit bestimmten Bedingungen mithilfe des Cmdlets
Get-ChildItemin 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
- 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
