Suchen einer Zeichenfolge in mehreren Dateien und Zurückgeben des Namens von Dateien in PowerShell
-
Verwenden die Cmdlet
Get-ChildItemundSelect-String, um eine Zeichenfolge in mehreren Dateien zu suchen und den Namen von Dateien in PowerShell zurückzugeben -
Verwenden Sie
lsundsls, um eine Zeichenfolge in mehreren Dateien zu suchen und den Namen von Dateien in PowerShell zurückzugeben
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
Verwandter Artikel - PowerShell String
- Wie man die Position von Teilzeichenfolgen in PowerShell findet
- Wie man einen Text in einer Datei mit PowerShell ersetzt
- Überprüfen Sie, ob eine Zeichenfolge in PowerShell leer ist
- Wie man überprüft, ob eine Zeichenfolge NICHT NULL oder LEER in PowerShell ist
- Auswählen mehrerer Muster in einer Zeichenfolge mithilfe von PowerShell
- Ersetzen von Zeichenfolgen in PowerShell
