Abrufen des vollständigen Pfads der Dateien in PowerShell
-
Verwenden von
Get-ChildItem
zum Abrufen des vollständigen Dateipfads in PowerShell -
Verwenden von
Select-Object
zum Abrufen des vollständigen Pfads der Dateien in PowerShell -
Verwenden Sie
Format-Table
, um den vollständigen Pfad der Dateien in PowerShell zu erhalten -
Verwenden der
foreach
-Schleife zum Abrufen des vollständigen Pfads der Dateien in PowerShell
PowerShell verfügt über verschiedene cmdlets
, um die Dateien auf dem System zu verwalten. Sie können die Dateien mit PowerShell erstellen, kopieren, verschieben, umbenennen und löschen.
Sie können die Dateien auch durchsuchen und das Vorhandensein einer Datei in PowerShell überprüfen. Ein Dateipfad gibt den Speicherort der Datei auf dem System an. In diesem Tutorial werden verschiedene Methoden vorgestellt, um den vollständigen Pfad der Dateien in PowerShell abzurufen.
Verwenden von Get-ChildItem
zum Abrufen des vollständigen Dateipfads in PowerShell
Das Cmdlet Get-ChildItem
zeigt eine Liste von Dateien und Verzeichnissen am angegebenen Speicherort an. Mit dem Parameter -Recurse
können Sie alle Dateien und Verzeichnisse rekursiv auflisten.
Es zeigt auch die Unterverzeichnisse und ihre Dateien. Es ist hilfreich für die rekursive Dateisuche in PowerShell.
Hier ist ein Beispiel für die rekursive Dateisuche:
Get-ChildItem -Path C:\New -Filter test.txt -Recurse
Der obige Befehl sucht rekursiv nach der Datei test.txt
am Ort C:\New
. Es sucht nach allen Verzeichnissen und Unterverzeichnissen innerhalb des angegebenen Speicherorts und zeigt die Details der Datei an, falls sie gefunden wurden.
Ausgabe:
Directory: C:\New\complex
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 12/16/2021 7:29 AM 198 test.txt
Wie Sie sehen, befindet sich die Datei test.txt
im Verzeichnis C:\New\complex
. Es zeigt den Path
, Mode
, LastWriteTime
, Length
und Name
der Datei an.
Sie können den vollständigen Pfad der Datei erhalten, indem Sie den Befehl an %{$_.FullName}
weiterleiten.
Get-ChildItem -Path C:\New -Filter test.txt -Recurse | %{$_.FullName}
Ausgabe:
C:\New\complex\test.txt
Sie können *.txt
mit dem Parameter -Filter
verwenden, um alle Dateien mit der Erweiterung .txt
am Speicherort C:\New
zu erhalten.
Get-ChildItem -Path C:\New -Filter *.txt -Recurse | %{$_.FullName}
Ausgabe:
C:\New\complex\test.txt
C:\New\record\book.txt
C:\New\record\data.txt
Oder Sie können diesen Befehl verwenden, um alle Dateien mit der Erweiterung .txt
und ihren Pfaden am angegebenen Speicherort abzurufen.
Get-ChildItem -Path C:\New -Recurse | where {$_.extension -eq ".txt"} | %{$_.FullName}
Verwenden von Select-Object
zum Abrufen des vollständigen Pfads der Dateien in PowerShell
Eine ähnliche Methode wird verwendet, aber wir verwenden das Cmdlet Select-Object
mit dem Befehl Get-ChildItem
, um den vollständigen Pfad der Dateien in PowerShell zu erhalten. Das Cmdlet Select-Object
wählt bestimmte Eigenschaften eines Objekts oder einer Gruppe von Objekten aus.
Get-ChildItem -Path C:\New -Filter *.txt -Recurse | Select-Object -ExpandProperty FullName
Ausgabe:
C:\New\complex\test.txt
C:\New\record\book.txt
C:\New\record\data.txt
Verwenden Sie Format-Table
, um den vollständigen Pfad der Dateien in PowerShell zu erhalten
Ebenso können Sie Format-Table
verwenden, um den vollständigen Pfad der Dateien in PowerShell zu erhalten. Das Cmdlet Format-Table
formatiert die Ausgabe als Tabelle mit den ausgewählten Eigenschaften eines Objekts.
Get-ChildItem -Path C:\pc -Filter car.png -Recurse | Format-Table FullName
Ausgabe:
FullName
--------
C:\pc\computing\task4\car.png
Verwenden der foreach
-Schleife zum Abrufen des vollständigen Pfads der Dateien in PowerShell
Die foreach
-Schleife ist in PowerShell auch als foreach
-Anweisung bekannt. Es ist ein Sprachkonstrukt zum Durchlaufen einer Reihe von Werten in einer Sammlung von Arrays, Objekten, Strings, Zahlen usw. Sie können einen oder mehrere Befehle für jedes Element in einem Array innerhalb der foreach
-Schleife ausführen.
So können Sie die foreach
-Schleife verwenden, um den vollständigen Pfad der Dateien in PowerShell zu erhalten.
Get-ChildItem -path C:\New\*.txt -Recurse | foreach { "$_" }
Ausgabe:
C:\New\complex\test.txt
C:\New\record\book.txt
C:\New\record\data.txt
Der obige Befehl funktioniert nicht mit dem Parameter -Filter
. Sie können zum Cmdlet Get-Item
in der Mitte leiten, um den Parameter -Filter
zu verwenden.
Get-ChildItem -Path C:\New -Filter *.txt -Recurse | Get-Item | foreach { "$_" }
Ausgabe:
C:\New\complex\test.txt
C:\New\record\book.txt
C:\New\record\data.txt
Get-ChildItem
hat eingebaute Aliase ls
, dir
und gci
. Sie können alle oben genannten Befehle ausführen, indem Sie eines der Handles anstelle des Cmdlets Get-ChildItem
verwenden.
Beispielsweise:
gci -Path C:\New -Filter *.txt -Recurse | %{$_.FullName}
Ausgabe:
C:\New\complex\test.txt
C:\New\record\book.txt
C:\New\record\data.txt