Wie man Pfad und Erweiterung aus dem Dateinamen in PowerShell entfernt

  1. Verwenden Sie die BaseName-Eigenschaft, um Pfad und Erweiterung vom Dateinamen in PowerShell zu entfernen
  2. Verwenden Sie die System.IO.Path-Klasse, um Pfad und Erweiterung vom Dateinamen in PowerShell zu entfernen
  3. Fazit
Wie man Pfad und Erweiterung aus dem Dateinamen in PowerShell entfernt

PowerShell unterstützt die Handhabung verschiedener Dateioperationen im System. Sie können Aufgaben wie Erstellen, Kopieren, Verschieben, Umbenennen, Bearbeiten, Löschen und Anzeigen von Dateien in PowerShell durchführen.

Es gibt verschiedene Cmdlets in PowerShell, die Sie verwenden können, um den Namen vollen Pfad und Erweiterung einer Datei zu erhalten. Bei der Arbeit mit Dateien im System müssen Sie möglicherweise den Dateinamen ohne Pfad und Erweiterung erhalten.

Dieses Tutorial wird Ihnen beibringen, wie Sie den Pfad und die Erweiterung vom Dateinamen in PowerShell entfernen.

Verwenden Sie die BaseName-Eigenschaft, um Pfad und Erweiterung vom Dateinamen in PowerShell zu entfernen

Das Cmdlet Get-Item in PowerShell ist ein vielseitiges Werkzeug, das zum Abrufen der Eigenschaften von Elementen in Ihrem Dateisystem, wie Dateien und Verzeichnissen, verwendet wird. Eine dieser Eigenschaften ist .BaseName, die besonders nützlich für unseren Zweck ist.

Beispiel:

(Get-Item "sample.txt").BaseName

In diesem Beispiel geht das Skript davon aus, dass sample.txt eine Datei im aktuellen Verzeichnis ist. Wenn sich die Datei in einem anderen Verzeichnis befindet, sollten Sie den vollständigen Pfad angeben, wie C:\folder\sample.txt.

Wenn wir (Get-Item "sample.txt").BaseName ausführen, führt PowerShell zwei wichtige Aktionen aus.

Zuerst ruft Get-Item "sample.txt" das Dateiobjekt ab, das sample.txt entspricht. Dann greift .BaseName auf die Eigenschaft dieses Dateiobjekts zu, die den Dateinamen ohne die Erweiterung enthält.

Ausgabe:

Entfernen Sie den Pfad und die Erweiterung aus dem Dateinamen in PowerShell - Ausgabe 1

Wenn Sie den Pfad und die Erweiterung in mehreren Dateien entfernen möchten, können Sie das Cmdlet Get-ChildItem verwenden. Der folgende Befehl zeigt, wie Sie mehrere Dateinamen ohne Pfad und Erweiterung in PowerShell abrufen können.

Beispiel

(Get-ChildItem "*.txt").BaseName

Diese Codezeile listet die Basisnamen (Dateinamen ohne Erweiterungen) aller .txt-Dateien im angegebenen Verzeichnis auf.

  • Get-ChildItem "*.txt": Dieser Befehl holt alle .txt-Dateien aus dem angegebenen Verzeichnis.

  • .BaseName: Auf diese Eigenschaft wird für jedes von Get-ChildItem zurückgegebene Dateiobjekt zugegriffen, um nur den Dateinamen ohne seine Erweiterung zu extrahieren.

Ausgabe:

Entfernen Sie den Pfad und die Erweiterung aus dem Dateinamen in PowerShell - Ausgabe 2

Sie können auch die Klasse System.IO.FileInfo mit der Eigenschaft basename verwenden, um den Dateinamen ohne die Erweiterung zu erhalten.

System.IO.FileInfo ist eine .NET-Klasse, die Eigenschaften und Instanzmethoden für die Erstellung, Kopierung, Löschung, Verschiebung und Öffnung von Dateien bereitstellt. Sie bietet auch detaillierte Informationen über eine Datei, wie ihren Namen, Pfad, Größe usw.

Beispiel:

([System.IO.FileInfo]"sample.txt").BaseName

Diese Zeile geht davon aus, dass sample.txt eine Datei im aktuellen Verzeichnis ist. Wenn sich die Datei woanders befindet, sollte der vollständige Pfad angegeben werden, wie C:\path\to\sample.txt.

In diesem Beispiel erstellt ([System.IO.FileInfo]"sample.txt") ein FileInfo-Objekt für die Datei sample.txt. Dieses Objekt enthält detaillierte Informationen über die Datei.

Durch den Zugriff auf die .BaseName-Eigenschaft dieses Objekts erhalten wir den Namen der Datei ohne ihre Erweiterung.

Ausgabe:

Entfernen Sie Pfad und Erweiterung vom Dateinamen in PowerShell - Ausgabe 3

Verwenden Sie die System.IO.Path-Klasse, um Pfad und Erweiterung vom Dateinamen in PowerShell zu entfernen

Die Klasse System.IO.Path bietet zahlreiche Methoden zur String-Manipulation von Datei-Pfaden. Die Methode GetFileNameWithoutExtension wird insbesondere verwendet, um den Dateinamen aus einem vollständigen Pfad-String ohne die Erweiterung zu erhalten.

Beispiel:

[System.IO.Path]::GetFileNameWithoutExtension("sample.txt")

Dieses Beispiel geht davon aus, dass sample.txt sich auf einen Dateinamen ohne einen Verzeichnispfad bezieht. Wenn sich die Datei in einem anderen Verzeichnis befindet, sollten Sie den vollständigen Pfad angeben, wie "C:\folder\sample.txt".

[System.IO.Path]::GetFileNameWithoutExtension("sample.txt") nutzt die Methode GetFileNameWithoutExtension aus der Klasse System.IO.Path, um den String "sample.txt" zu verarbeiten. Diese Methode analysiert den String intelligent, identifiziert die Dateierweiterung und entfernt sie, sodass nur der Basis-Dateiname zurückgegeben wird.

Diese Methode ist äußerst effizient und erfordert nicht, dass die tatsächliche Datei existiert, da sie rein auf der String-Ebene arbeitet.

Ausgabe:

Pfad und Erweiterung aus dem Dateinamen in PowerShell entfernen - Ausgabe 4

Fazit

Zusammenfassend ist das Beherrschen der Datei-Manipulation in PowerShell entscheidend für eine effiziente Systemadministration, und dieser Artikel konzentrierte sich auf das Entfernen des Pfades und der Erweiterung von Dateinamen mit verschiedenen Methoden. Begonnen mit dem einfachen (Get-Item "sample.txt").BaseName für einzelne Dateien, haben wir uns mit (Get-ChildItem "C:\Users\rhntm\*.txt").BaseName zur Verarbeitung mehrerer Dateien weiterentwickelt, was einen wertvollen Ansatz für Massenoperationen bietet.

Die objektorientierte [System.IO.FileInfo]-Klasse mit ([System.IO.FileInfo]"sample.txt").BaseName bietet detaillierte Datei-Informationen, während die String-Manipulationsfähigkeiten von [System.IO.Path]::GetFileNameWithoutExtension("sample.txt") die Leistungsfähigkeit von .NET-Klassen veranschaulichen. Diese Methoden zeigen die Vielseitigkeit von PowerShell, und für diejenigen, die ihr Wissen vertiefen möchten, ist das Erkunden verwandter Themen wie die Arbeit mit vollständigen Dateipfaden und das Extrahieren von Dateierweiterungen eine logische Fortsetzung, um das volle Potenzial von PowerShell für umfassende System-Skripting- und Automatisierungsaufgaben freizuschalten.

Genießen Sie unsere Tutorials? Abonnieren Sie DelftStack auf YouTube, um uns bei der Erstellung weiterer hochwertiger Videoanleitungen zu unterstützen. Abonnieren
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