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 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