Extraire le nom de fichier d'un chemin à l'aide de PowerShell

Rohan Timalsina 30 janvier 2023
  1. Utilisez l’applet de commande Split-Path pour extraire le nom de fichier d’un chemin dans PowerShell
  2. Utilisez la méthode GetFileName pour extraire le nom de fichier d’un chemin dans PowerShell
  3. Utilisez l’applet de commande Get-Item pour extraire le nom de fichier d’un chemin dans PowerShell
Extraire le nom de fichier d'un chemin à l'aide de PowerShell

Un chemin de fichier indique l’emplacement du fichier sur le système. Lorsque vous travaillez avec des fichiers dans PowerShell, vous devrez peut-être obtenir uniquement le nom du fichier à partir d’un chemin.

Il existe plusieurs façons d’obtenir le chemin des fichiers dans PowerShell. Ce tutoriel vous apprendra à extraire le nom de fichier d’un chemin de fichier avec PowerShell.

Utilisez l’applet de commande Split-Path pour extraire le nom de fichier d’un chemin dans PowerShell

L’applet de commande Split-Path affiche la partie spécifiée d’un chemin donné dans PowerShell. La partie d’un chemin peut être le dossier parent, le sous-dossier, le nom de fichier ou une extension de fichier uniquement.

Pour extraire le nom de fichier avec extension, utilisez la commande Split-Path avec le paramètre -Leaf.

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

Production:

hello.txt

Pour obtenir le nom de fichier sans extension, vous pouvez utiliser le paramètre -LeafBase. Ce paramètre est disponible uniquement dans PowerShell 6.0 ou versions ultérieures.

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

Production:

hello

Utilisez la méthode GetFileName pour extraire le nom de fichier d’un chemin dans PowerShell

La méthode GetFileName de la classe Path de .NET renvoie le nom de fichier et l’extension du chemin spécifié.

L’exemple suivant affiche le nom et l’extension du fichier à partir du chemin C:\pc\test_folder\hello.txt.

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

Production:

hello.txt

Vous pouvez utiliser la méthode GetFileNameWithoutExtension pour extraire uniquement le nom de fichier sans extension.

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

Production:

hello

Utilisez l’applet de commande Get-Item pour extraire le nom de fichier d’un chemin dans PowerShell

L’applet de commande Get-Item extrait l’élément à l’emplacement spécifié. Si l’item est présent au chemin spécifié, il renvoie le Directory, le Mode, le LastWriteTime, la Length et le Name du fichier.

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

Production:

Directory: C:\pc\test_folder


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

Vous pouvez ajouter .Name à la fin de la commande ci-dessus pour renvoyer uniquement le nom de fichier avec une extension.

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

Production:

hello.txt

Pour obtenir uniquement le nom du fichier sans extension, spécifiez la propriété .BaseName.

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

Production:

hello

Cette méthode s’applique également à l’applet de commande Get-ChildItem.

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

Production:

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

Article connexe - PowerShell File