Suchen einer Zeichenfolge in mehreren Dateien und Zurückgeben des Namens von Dateien in PowerShell

Rohan Timalsina 30 Januar 2023
  1. Verwenden die Cmdlet Get-ChildItem und Select-String, um eine Zeichenfolge in mehreren Dateien zu suchen und den Namen von Dateien in PowerShell zurückzugeben
  2. Verwenden Sie ls und sls, um eine Zeichenfolge in mehreren Dateien zu suchen und den Namen von Dateien in PowerShell zurückzugeben
Suchen einer Zeichenfolge in mehreren Dateien und Zurückgeben des Namens von Dateien in PowerShell

Sie können die in einem bestimmten Verzeichnis vorhandenen Dateien mit PowerShell anzeigen. Außerdem können Sie Dateien rekursiv durchsuchen, um die in den Unterverzeichnissen vorhandenen Dateien zu finden.

Aber ist es möglich, eine Zeichenfolge in Dateien zu suchen und die Namen dieser Dateien in PowerShell abzurufen? Die Antwort ist ja. In diesem Tutorial lernen Sie, eine Zeichenfolge in mehreren Dateien zu suchen und den Namen von Dateien in PowerShell zurückzugeben.

Verwenden die Cmdlet Get-ChildItem und Select-String, um eine Zeichenfolge in mehreren Dateien zu suchen und den Namen von Dateien in PowerShell zurückzugeben

Das Cmdlet Get-ChildItem zeigt eine Liste von Dateien und Verzeichnissen an, die an einem bestimmten Ort vorhanden sind. Der Parameter -Recurse hilft dabei, alle Dateien, Verzeichnisse oder Unterverzeichnisse rekursiv aufzulisten. Aber es zeigt keine leeren Verzeichnisse in der Ausgabe.

Das Cmdlet Select-String sucht und findet String-Muster in Dateien.

Der folgende Befehl sucht in allen Dateien im Verzeichnis C:\pc nach der Zeichenfolge system und listet den vollständigen Pfad einer Datei auf.

Get-ChildItem -Path C:\New -Recurse | Select-String -Pattern 'system' -List | Select Path

Ausgabe:

Path
----
C:\New\literature_review.pdf
C:\New\Proposal.pdf
C:\New\Draft.pdf
C:\New\Report.docx
C:\New\fyp\Forms.docx

Sie können die Zeile mit der Zeichenfolge auch anzeigen, wenn Sie im Befehl Line angeben.

Get-ChildItem -Path C:\New -Recurse | Select-String "system" -List | Select Path,Line

Verwenden Sie ls und sls, um eine Zeichenfolge in mehreren Dateien zu suchen und den Namen von Dateien in PowerShell zurückzugeben

Der Befehl ls ist beliebt, um Dateien und Verzeichnisse in Unix und Unix-ähnlichen Betriebssystemen aufzulisten. Der Befehl ls ist auch in der PowerShell verfügbar und funktioniert ähnlich.

Wenn der Pfad nicht angegeben ist, werden die im Arbeitsverzeichnis vorhandenen Dateien und Verzeichnisse aufgelistet. Mit der Option -r listet ls die Dateien und Verzeichnisse rekursiv auf.

ls C:\pc

Ausgabe:

    Directory: C:\pc


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----          1/2/2022   2:53 PM                computing
d-----          1/2/2022   1:24 PM                New folder
-a----          1/2/2022   1:36 PM          17384 hello
-a----          1/2/2022   2:48 PM           5134 matrix.c
-a----        12/26/2020   7:03 PM            321 ReadMe.txt

Das sls ist ein Alias ​​für das Cmdlet Select-String. Es sucht auch nach einem Zeichenkettenmuster in Dateien.

Sie können den folgenden Befehl verwenden, um eine Zeichenfolge in mehreren Dateien zu suchen und den Namen von Dateien in PowerShell abzurufen.

ls -r -Path C:\pc | sls 'hello' | select -u Path

Ausgabe:

Path
----
C:\pc\computing\task3\crack
C:\pc\computing\task3\crack1
C:\pc\computing\task3\crack2
C:\pc\computing\task3\cracked
C:\pc\computing\task3\pass
C:\pc\computing\task3\password.txt
C:\pc\computing\task3\pwd
C:\pc\computing\task4\hello
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

Verwandter Artikel - PowerShell String