Suchen Sie mithilfe von PowerShell eine bestimmte Datei anhand des Namens

John Wachira 20 Juni 2023
Suchen Sie mithilfe von PowerShell eine bestimmte Datei anhand des Namens

Dieser Artikel zeigt, wie wir eine bestimmte Datei mit PowerShell finden können.

Das Cmdlet Get-ChildItem ist ein nützliches PowerShell-Dienstprogramm, mit dem wir eine Datei anhand des Namens oder der Erweiterung finden können. Es macht es einfacher und schneller, eine Datei zu finden als die Suche im Windows Explorer.

Suchen Sie eine bestimmte Datei anhand des Namens mit PowerShell Get-ChildItem

Wir können das Cmdlet Get-ChildItem in PowerShell verwenden, um eine Liste von Dateien und Ordnern an einem oder mehreren Speicherorten anzuzeigen. Wir können ein Suchmuster hinzufügen, um unsere Ausgabe auf eine bestimmte Datei einzugrenzen.

Schauen wir uns ein paar Beispiele an.

Angenommen, wir möchten alle Dateien im aktuellen Ordner finden, die eine .txt-Erweiterung haben, wie gehen wir vor?

Wir führen den Befehl Get-ChildItem wie unten gezeigt aus:

PS C:\Users> Get-ChildItem *.txt

Der obige Befehl findet alle Dateien im Verzeichnis Benutzer mit der Erweiterung .txt. Was ist, wenn wir alle Dateien im Stammverzeichnis unseres Laufwerks C:\ anzeigen möchten?

PS C:\pc\Users> Get-ChildItem -Path C:\

Im obigen Befehl nimmt das Cmdlet Git-ChildItem das C:\ als -Path-Parameter und zeigt alle Dateien und Verzeichnisse an, die am Speicherort gespeichert sind.

Wir können den Parameter -Recurse hinzufügen, um alle Dateien im Laufwerk C:\ zu finden und aufzulisten. Der Befehl gibt einen Fehler aus, wenn Dateien vorhanden sind, auf die der Benutzer keinen Zugriff hat.

Um im Fehlerfall mit der Operation fortzufahren, führen wir den Befehl wie unten dargestellt aus:

PS C:\pc\Users> Get-ChildItem -Path C:\ -Recurse -ErrorAction SilentlyContinue

Wir können auch ein auszuschließendes Muster angeben. Hier ist ein Beispiel:

PS C:\pc\Users> Get-ChildItem -Exclude *.exe -Recurse

Der obige Befehl listet alle Dateien in Unterverzeichnissen auf, die im Verzeichnis Benutzer vorhanden sind, und schließt die Dateien mit der Dateierweiterung .exe aus.

Wir können auch den Parameter -Filter verwenden, um unsere Suche auf eine bestimmte Dateierweiterung einzugrenzen. Sehen Sie sich das folgende Beispiel an:

PS C:\pc\Users> Get-ChildItem -Filter *.txt -Recurse

Der obige Befehl listet nur die Dateien mit der Erweiterung .txt auf. Was ist, wenn wir nach einem bestimmten Dateinamen suchen möchten?

Wir führen den Befehl Get-ChildItem wie unten gezeigt aus:

PS C:\pc\Users> Get-ChildItem -recurse -filter "Trial" -File

Der obige Befehl sucht im aktuellen Ordner rekursiv nach Dateien mit Dateinamen, die mit Einfügen übereinstimmen. Wir können einen Ordner mit dem Parameter -Path angeben, wie unten dargestellt:

PS C:\pc\Users> Get-ChildItem -recurse -filter "Trial" -File -Path C:\

Der obige Befehl sucht rekursiv nach Dateien mit Dateinamen, die mit Einfügen in unserem Laufwerk C:\ übereinstimmen. Sie können den Alias gci verwenden, anstatt Get-ChildItem vollständig einzugeben.

Alternativ können wir Folgendes ausführen:

PS C:\pc\Users> Get-ChildItem -Recurse | Where {$_.Name -match 'Insert'} | Select Fullname

Im obigen Befehl findet das Cmdlet Get-ChildItem rekursiv Dateien in unserem aktuellen Ordner. Das Cmdlet Where-Object vergleicht die Dateinameneigenschaft, die mit Insert übereinstimmt, und gibt den vollständigen Namen der Datei aus.

Kurz gesagt, wir können das Cmdlet Get-ChildItem verwenden, um bestimmte Dateien in PowerShell zu finden.

Es gibt verschiedene Parameter, mit denen wir unsere Suche eingrenzen können. Die Verwendung von PowerShell ist viel einfacher und schneller als die Suche im Windows Explorer.

John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

Verwandter Artikel - PowerShell File