So finden Sie Dateien mit Erweiterung in PowerShell

  1. Verwenden von Get-ChildItem mit Filter, um Dateien mit einer Erweiterung in PowerShell zu finden
  2. Verwenden von Get-ChildItem mit Include, um Dateien mit Erweiterungen in PowerShell zu finden
  3. Fazit
So finden Sie Dateien mit Erweiterung in PowerShell

PowerShell ist ein vielseitiges und leistungsstarkes Tool zur Verwaltung von Dateien und Verzeichnissen auf Ihrem Computer. Eine häufige Aufgabe besteht darin, Dateien mit bestimmten Erweiterungen zu finden.

In diesem Artikel werden wir die Methoden untersuchen, um Dateien mit bestimmten Erweiterungen effizient mithilfe des Get-ChildItem Cmdlets in PowerShell zu finden.

Verwenden von Get-ChildItem mit Filter, um Dateien mit einer Erweiterung in PowerShell zu finden

Der Befehl Get-ChildItem in der PowerShell-Umgebung erhält ein Element von einem bestimmten Standort. Ein Element kann sich in einem Container befinden, und ein Container ist normalerweise ein Ordner.

Darüber hinaus verwendet Get-ChildItem einen -Recurse Parameter, um Elemente aus den untergeordneten Containern oder Untercontainern zu erhalten. Er enthält auch einen -Filter Parameter, der ein Sternchen (*) Platzhalter verwendet, um alle Dateien mit einer bestimmten Erweiterung zu erhalten.

Syntax:

Get-ChildItem -Path "File Path" -Recurse -File -Filter *.txt

Parameter:

  • -Path "Dateipfad": Gibt das Startverzeichnis der Suche an, in dem wir nach bestimmten Erweiterungen suchen werden.
  • -Recurse: Erweitert die Suche auf Unterverzeichnisse und ermöglicht eine umfassende Suche.
  • -File: Konzentriert sich auf Dateien und nicht auf Verzeichnisse, um sicherzustellen, dass nur Dateien zurückgegeben werden.
  • -Filter *.txt: Legt den Filter für Dateien mit der ".txt" Erweiterung fest. Das Sternchen (*) passt zu beliebigen Zeichen vor ".txt".

Lassen Sie uns ein Beispiel geben. Der folgende Befehl findet alle Dateien mit der .txt Erweiterung.

Get-ChildItem "C:\Files\"  -Recurse -File -Filter *.txt

Im Befehl beginnen wir unsere Suche, indem wir das Get-ChildItem Cmdlet im Verzeichnis "C:\Files" verwenden, das es uns ermöglicht, Informationen über Elemente zu sammeln, egal ob es sich um Dateien oder Verzeichnisse handelt, innerhalb dieses Standorts. Um unsere Suche auch auf alle Unterverzeichnisse auszuweiten, fügen wir den -Recurse Parameter hinzu.

Dann, um zu spezifizieren, dass wir an Dateien und nicht an Verzeichnissen interessiert sind, fügen wir den -File Parameter hinzu. Schließlich definieren wir unsere Filterbedingung mit -Filter *.txt, die nach Dateien sucht, die mit ".txt" enden, wobei das Sternchen (*) als Platzhalterzeichen dient, um beliebige Zeichen davor zu passen.

So instruieren wir PowerShell effektiv, alle Dateien mit Namen zu finden, die in ".txt" enden.

Ausgabe:

Directory: C:\Files

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----         5/15/2022  11:02 PM              0 file1.txt
-a----         5/15/2022  11:02 PM              0 file2.txt
-a----         5/15/2022  11:02 PM              0 file3.txt

    Directory: C:\Files\Misc files

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----         5/15/2022  11:05 PM              0 file8.txt

    Directory: C:\Files\More Files

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----         5/15/2022  11:02 PM              0 file4.txt

    Directory: C:\Files\More Files\Some More Files

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----         5/15/2022  11:03 PM              0 file6.txt

Wir könnten den -Name Parameter zu Get-ChildItem hinzufügen, um nur die Pfade der Dateien auszugeben, anstatt eine detaillierte Ausgabe.

Get-ChildItem "C:\Files\"  -Recurse -File -Name -Filter *.txt

Ausgabe:

file1.txt
file2.txt
file3.txt
Misc files\file8.txt
More Files\file4.txt
More Files\Some More Files\file6.txt

Wir sehen in der Ausgabe, dass nur die Namen und Pfade der Dateien nach dem Ausführen des Befehls mit dem -Name Parameter angezeigt werden.

Verwenden von Get-ChildItem mit Include, um Dateien mit Erweiterungen in PowerShell zu finden

Der Befehl Get-ChildItem verwendet den -Include Parameter, der ein oder mehrere Zeichenmuster annimmt, um die übereinstimmenden Elemente einzuschließen.

Syntax:

Get-ChildItem "File Path" -Recurse -File -Name -Include *.txt
  • -Path "Dateipfad": Gibt das Startverzeichnis für die Suche an, wo wir nach Dateien mit einer bestimmten Erweiterung suchen.
  • -Recurse: Erweitert die Suche auf alle Unterverzeichnisse und sorgt für eine umfassende Suche.
  • -File: Konzentriert sich ausschließlich auf Dateien und schließt Verzeichnisse aus den Ergebnissen aus.
  • -Name: Listet nur Dateinamen in der Ausgabe auf, ohne detaillierte Datei Informationen.
  • -Include *.txt: Filtert und ruft Dateien mit der ".txt" Erweiterung in den Ergebnissen ab.

Es ist notwendig, ein nachgestelltes Sternchen (*) zum Dateipfad hinzuzufügen, wenn kein -Recurse Flag verwendet wird. In diesem Fall listet es nur die .txt Dateien im Files Ordner auf.

Get-ChildItem "C:\Files\*" -File -Name -Include *.txt

Im Befehl verwenden wir das Get-ChildItem Cmdlet, um eine Suche nach Dateien im Verzeichnis "C:\Files" und all seinen Unterverzeichnissen zu starten. Um Dateien mit einer ".txt" Erweiterung zu präzisieren, wenden wir eine Reihe von Parametern an.

Wir beginnen, indem wir den Pfad mit "C:\Files\*" festlegen, der alle Unterverzeichnisse unter "C:\Files" einschließt. Durch Hinzufügen des -File Parameters konzentrieren wir uns ausschließlich auf Dateien und schließen Verzeichnisse aus.

Der -Name Parameter verfeinert unsere Ausgabe, indem er nur die Namen der Dateien anzeigt, während der -Include *.txt Parameter die Suche verfeinert, indem er Dateien mit der ".txt" Erweiterung filtert.

Ausgabe:

file1.txt
file2.txt
file3.txt

Die Ausgabe stellt eine Liste von Dateinamen mit der ".txt" Erweiterung dar, die den Kriterien entspricht, die wir in unserem PowerShell-Befehl angegeben haben.

Fazit

In diesem Artikel haben wir effiziente Methoden untersucht, um das Get-ChildItem Cmdlet in PowerShell zu verwenden, um solche Dateien zu lokalisieren. Wir haben zwei Ansätze behandelt: die Verwendung des -Filter Parameters für Präzision und des -Include Parameters für Flexibilität.

Diese Techniken können Aufgaben wie Datenanalyse und Organisation vereinfachen, sodass die Dateiverwaltung in einer Windows-Umgebung effizienter wird.

Genießen Sie unsere Tutorials? Abonnieren Sie DelftStack auf YouTube, um uns bei der Erstellung weiterer hochwertiger Videoanleitungen zu unterstützen. Abonnieren

Verwandter Artikel - PowerShell File