Extrahieren des Dateinamens aus einem Pfad mit PowerShell

Rohan Timalsina 21 Dezember 2022
  1. Verwenden des Cmdlet Split-Path zum Extrahieren des Dateinamens aus einem Pfad in PowerShell
  2. Verwenden der Methode GetFileName zum Extrahieren des Dateinamens aus einem Pfad in PowerShell
  3. Verwenden des Cmdlet Get-Item zum Extrahieren des Dateinamens aus einem Pfad in PowerShell
Extrahieren des Dateinamens aus einem Pfad mit PowerShell

Ein Dateipfad gibt den Speicherort der Datei auf dem System an. Beim Arbeiten mit Dateien in PowerShell müssen Sie möglicherweise nur den Dateinamen aus einem Pfad abrufen.

Es gibt mehrere Möglichkeiten, den Pfad der Dateien abzurufen in PowerShell. In diesem Tutorial lernen Sie, den Dateinamen mit PowerShell aus einem Dateipfad zu extrahieren.

Verwenden des Cmdlet Split-Path zum Extrahieren des Dateinamens aus einem Pfad in PowerShell

Das Cmdlet Split-Path zeigt den angegebenen Teil eines angegebenen Pfads in PowerShell an. Der Teil eines Pfads kann nur der übergeordnete Ordner, Unterordner, Dateiname oder eine Dateierweiterung sein.

Um den Dateinamen mit Erweiterung zu extrahieren, verwenden Sie den Befehl Split-Path mit dem Parameter -Leaf.

Split-Path C:\pc\test_folder\hello.txt -Leaf

Ausgabe:

hello.txt

Um den Dateinamen ohne Erweiterung zu erhalten, können Sie den Parameter -LeafBase verwenden. Dieser Parameter ist nur in PowerShell 6.0 oder höheren Versionen verfügbar.

Split-Path C:\pc\test_folder\hello.txt -LeafBase

Ausgabe:

hello

Verwenden der Methode GetFileName zum Extrahieren des Dateinamens aus einem Pfad in PowerShell

Die Methode GetFileName der Path-Klasse von .NET gibt den Dateinamen und die Erweiterung des angegebenen Pfads zurück.

Das folgende Beispiel zeigt den Dateinamen und die Erweiterung aus dem Pfad C:\pc\test_folder\hello.txt.

[System.IO.Path]::GetFileName('C:\pc\test_folder\hello.txt')

Ausgabe:

hello.txt

Sie können die Methode GetFileNameWithoutExtension verwenden, um nur den Dateinamen ohne Erweiterung zu extrahieren.

[System.IO.Path]::GetFileNameWithoutExtension('C:\pc\test_folder\hello.txt')

Ausgabe:

hello

Verwenden des Cmdlet Get-Item zum Extrahieren des Dateinamens aus einem Pfad in PowerShell

Das Cmdlet Get-Item extrahiert das Element am angegebenen Ort. Wenn das Element im angegebenen Pfad vorhanden ist, werden Directory, Mode, LastWriteTime, Length und Name der Datei zurückgegeben.

Get-Item C:\pc\test_folder\hello.txt

Ausgabe:

Directory: C:\pc\test_folder


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        09-06-2022     21:43             18 hello.txt

Sie können am Ende des obigen Befehls .Name hinzufügen, um nur den Dateinamen mit einer Erweiterung zurückzugeben.

(Get-Item C:\pc\test_folder\hello.txt).Name

Ausgabe:

hello.txt

Um nur den Dateinamen ohne Erweiterung zu erhalten, geben Sie die Eigenschaft .BaseName an.

(Get-Item C:\pc\test_folder\hello.txt).BaseName

Ausgabe:

hello

Diese Methode gilt auch für das Cmdlet Get-ChildItem.

(Get-ChildItem C:\pc\test_folder\hello.txt).Name
(Get-ChildItem C:\pc\test_folder\hello.txt).BaseName

Ausgabe:

hello.txt
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 File