Comment supprimer le chemin et l'extension du nom de fichier dans PowerShell

  1. Utilisez la propriété BaseName pour supprimer le chemin et l’extension du nom de fichier dans PowerShell
  2. Utilisez la classe System.IO.Path pour supprimer le chemin et l’extension du nom de fichier dans PowerShell
  3. Conclusion
Comment supprimer le chemin et l'extension du nom de fichier dans PowerShell

PowerShell prend en charge la gestion de diverses opérations sur les fichiers dans le système. Vous pouvez effectuer des tâches telles que créer, copier, déplacer, renommer, modifier, supprimer et visualiser des fichiers dans PowerShell.

Il existe différents cmdlets dans PowerShell que vous pouvez utiliser pour obtenir le nom chemin complet et extension d’un fichier. Lors de la manipulation de fichiers dans le système, vous pourriez avoir besoin d’obtenir le nom du fichier sans un chemin et une extension.

Ce tutoriel vous apprendra à supprimer le chemin et l’extension du nom de fichier dans PowerShell.

Utilisez la propriété BaseName pour supprimer le chemin et l’extension du nom de fichier dans PowerShell

Le cmdlet Get-Item dans PowerShell est un outil polyvalent utilisé pour récupérer les propriétés des éléments dans votre système de fichiers, comme les fichiers et les répertoires. L’une de ces propriétés est .BaseName, qui est particulièrement utile pour notre objectif.

Exemple :

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

Dans cet exemple, le script suppose que sample.txt est un fichier dans le répertoire actuel. Si le fichier se trouve dans un autre répertoire, vous devez inclure le chemin complet, comme C:\folder\sample.txt.

Lorsque nous exécutons (Get-Item "sample.txt").BaseName, PowerShell effectue deux actions clés.

Tout d’abord, Get-Item "sample.txt" récupère l’objet fichier correspondant à sample.txt. Ensuite, .BaseName accède à la propriété de cet objet fichier qui contient le nom du fichier sans l’extension.

Sortie :

supprimer le chemin et l’extension du nom de fichier dans powershell - sortie 1

Si vous souhaitez supprimer le chemin et l’extension de plusieurs fichiers, vous pouvez utiliser le cmdlet Get-ChildItem. La commande suivante montre comment obtenir plusieurs noms de fichiers sans un chemin et une extension dans PowerShell.

Exemple

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

Cette ligne de code répertoriere les noms de base (noms de fichiers sans extensions) de tous les fichiers .txt dans le répertoire spécifié.

  • Get-ChildItem "*.txt" : Cette commande récupère tous les fichiers .txt du répertoire spécifié.

  • .BaseName : Cette propriété est accessible pour chaque objet fichier renvoyé par Get-ChildItem, extrayant juste le nom de fichier sans son extension.

Sortie :

supprimer le chemin et l’extension du nom de fichier dans powershell - sortir 2

Vous pouvez également utiliser la classe System.IO.FileInfo avec la propriété basename pour obtenir le nom de fichier sans l’extension.

System.IO.FileInfo est une classe .NET qui fournissait des propriétés et des méthodes d’instance pour la création, la copie, la suppression, le déplacement et l’ouverture de fichiers. Elle fournit également des informations détaillées sur un fichier, telles que son nom, son chemin, sa taille, etc.

Exemple :

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

Cette ligne suppose que sample.txt est un fichier dans le répertoire actuel. Si le fichier se trouve ailleurs, le chemin complet doit être spécifié, comme C:\path\to\sample.txt.

Dans cet exemple, ([System.IO.FileInfo]"sample.txt") crée un objet FileInfo pour le fichier sample.txt. Cet objet contient des informations détaillées sur le fichier.

En accédant à la propriété .BaseName de cet objet, nous récupérons le nom du fichier sans son extension.

Sortie :

supprimer le chemin et l’extension du nom de fichier dans powershell - sortie 3

Utilisez la classe System.IO.Path pour supprimer le chemin et l’extension du nom de fichier dans PowerShell

La classe System.IO.Path fournit de nombreuses méthodes pour la manipulation de chaînes de caractères des chemins de fichiers. La méthode GetFileNameWithoutExtension, en particulier, est utilisée pour obtenir le nom de fichier à partir d’une chaîne de chemin complet sans l’extension.

Exemple :

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

Cet exemple suppose que sample.txt fait référence à un nom de fichier sans aucun chemin de répertoire. Si le fichier est situé dans un autre répertoire, vous devez inclure le chemin complet, tel que "C:\folder\sample.txt".

[System.IO.Path]::GetFileNameWithoutExtension("sample.txt"), PowerShell utilise la méthode GetFileNameWithoutExtension de la classe System.IO.Path pour traiter la chaîne "sample.txt". Cette méthode analyse la chaîne de manière intelligente, identifie l’extension de fichier et la supprime, ne renvoyant que le nom du fichier de base.

Cette méthode est très efficace et ne nécessite pas que le fichier réel existe, car elle fonctionne uniquement au niveau de la chaîne.

Sortie :

supprimer le chemin et l’extension du nom de fichier dans powershell - sortie 4

Conclusion

En conclusion, maîtriser la manipulation des fichiers dans PowerShell est essentiel pour une administration système efficace, et cet article s’est concentré sur la suppression du chemin et de l’extension des noms de fichiers en utilisant diverses méthodes. En commençant par le simple (Get-Item "sample.txt").BaseName pour les fichiers individuels, nous avons progressé vers la manipulation de plusieurs fichiers avec (Get-ChildItem "C:\Users\rhntm\*.txt").BaseName, une approche précieuse pour les opérations en masse.

La classe plus orientée objet [System.IO.FileInfo] avec ([System.IO.FileInfo]"sample.txt").BaseName fournissait des informations détaillées sur les fichiers, tandis que l’habileté de manipulation de chaînes de [System.IO.Path]::GetFileNameWithoutExtension("sample.txt") faisait ressortir la puissance des classes .NET. Ces méthodes exemplifient la polyvalence de PowerShell, et pour ceux qui cherchent à approfondir leur expertise, explorer des sujets connexes comme le travail avec des chemins de fichiers complets et l’extraction des extensions de fichiers constitue une progression logique, débloquant le plein potentiel de PowerShell pour des tâches complètes de scripting et d’automatisation système.

Vous aimez nos tutoriels ? Abonnez-vous à DelftStack sur YouTube pour nous aider à créer davantage de tutoriels vidéo de haute qualité. Abonnez-vous
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