powershell

Renommer Plusieurs Fichiers et Dossiers en Une Seule Commande PowerShell

Lorsque vous gérez un grand nombre de fichiers et de dossiers, il peut arriver que leurs noms contiennent une partie commune que vous souhaitez supprimer ou modifier. Plutôt que de les renommer un par un, vous pouvez utiliser PowerShell pour automatiser cette tâche. Cet article vous explique comment renommer plusieurs fichiers et dossiers simultanément en utilisant PowerShell.

Cas d’utilisation

Prenons un exemple simple : vous avez téléchargé des fichiers dont les noms commencent tous par une chaîne comme [MUSICABILL-DOWNLOADED.COM]. Vous souhaitez supprimer cette partie pour avoir des noms de fichiers plus clairs. Voici comment procéder avec PowerShell, un outil puissant de ligne de commande sous Windows.

Renommer des dossiers

La première étape consiste à renommer les dossiers. Supposons que tous vos dossiers se trouvent dans le répertoire E:\Downloads\torrents\ et que vous souhaitiez supprimer la chaîne [MUSICABILL-DOWNLOADED.COM] de leurs noms. Voici la commande PowerShell pour y parvenir :

Bash
Get-ChildItem "E:\Downloads\torrents\" -Directory | Rename-Item -NewName { $_.Name -replace '\[MUSICABILL-DOWNLOADED.COM\]', '' }
Bash

Explication de la commande

  • Get-ChildItem "E:\Downloads\torrents\" -Directory : Cette commande récupère tous les dossiers situés dans le chemin spécifié.
  • Rename-Item -NewName { $_.Name -replace '\[MUSICABILL-DOWNLOADED.COM\]', '' } : Pour chaque dossier, cette commande supprime la chaîne [MUSICABILL-DOWNLOADED.COM] en la remplaçant par une chaîne vide, ce qui renomme le dossier.

Renommer des fichiers dans plusieurs dossiers

Ensuite, vous pouvez vouloir appliquer le même traitement aux fichiers situés dans différents sous-dossiers de ce répertoire. Pour cela, vous pouvez utiliser une commande PowerShell qui parcourt récursivement tous les fichiers et supprime la partie commune du nom de fichier :

Bash
Get-ChildItem -Path "E:\Downloads\torrents\" -Recurse | Where-Object { -not $_.PSIsContainer } | Rename-Item -NewName { $_.Name -replace '\[MUSICABILL-DOWNLOADED.COM\]', '' }
Bash

Explication de la commande

  • Get-ChildItem -Path "E:\Downloads\torrents\" -Recurse : Cette commande parcourt récursivement tous les sous-dossiers du répertoire E:\Downloads\torrents\.
  • Where-Object { -not $_.PSIsContainer } : Elle filtre les résultats pour ne garder que les fichiers, et non les dossiers.
  • Rename-Item -NewName { $_.Name -replace '\[MUSICABILL-DOWNLOADED.COM\]', '' } : Cette commande renomme chaque fichier en supprimant la chaîne [MUSICABILL-DOWNLOADED.COM].

Pourquoi utiliser PowerShell pour renommer des fichiers ?

Renommer manuellement des centaines de fichiers peut être une tâche fastidieuse et sujette à des erreurs. Avec PowerShell, vous pouvez automatiser cette tâche de manière efficace, rapide et sans risque de faire des erreurs. Une fois la commande lancée, tous vos fichiers et dossiers sont renommés en quelques secondes.

Conclusion

Ces deux commandes PowerShell permettent de renommer facilement et rapidement des fichiers et des dossiers en masse, en supprimant des parties communes de leurs noms. En comprenant comment elles fonctionnent, vous pouvez adapter ces commandes à vos propres besoins, économisant ainsi un temps précieux lors de la gestion de fichiers.