Abrufen des vollständigen Pfads der Dateien in PowerShell

Rohan Timalsina 30 Januar 2023
  1. Verwenden von Get-ChildItem zum Abrufen des vollständigen Dateipfads in PowerShell
  2. Verwenden von Select-Object zum Abrufen des vollständigen Pfads der Dateien in PowerShell
  3. Verwenden Sie Format-Table, um den vollständigen Pfad der Dateien in PowerShell zu erhalten
  4. Verwenden der foreach-Schleife zum Abrufen des vollständigen Pfads der Dateien in PowerShell
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
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 File