140 votes

Comment puis-je renommer des fichiers en masse ?

J'ai un tas de fichiers nommés avec le motif 99 - DescriptiveName.txt et j'aimerais enlever le numéro de l'avant pour avoir juste DescriptiveName.txt .

Comment puis-je faire ? Puis-je le faire à partir de la ligne de commande ou existe-t-il un utilitaire permettant de le faire ?

104voto

Chris Ballance Points 17329

Je sais que dans votre titre, vous dites "in dos", mais j'ai l'impression que vous cherchez simplement un moyen de le faire et que vous vous demandez si c'est le meilleur moyen.

Le meilleur outil que j'ai trouvé pour cela est le suivant Utilitaire de renommage en masse .

Bulk Rename Utility

Il ne s'agit pas d'un outil de ligne de commande, mais ils ont un version en ligne de commande si vous voulez vraiment l'utiliser de cette façon.

J'ai beaucoup utilisé la version GUI, et elle est très puissante, très rapide et extrêmement facile à utiliser.

Oh, et c'est GRATUIT pour un usage personnel.

75voto

davidcann Points 1005

Un petit script PowerShell :

$args | Rename-Item -NewName { $_.Name.ToLower() -replace '\d+ - ' }

Combiné avec des expressions régulières cela pourrait devenir quelque chose comme :

ls | Rename-Item -NewName {$_ -replace '(\d+) - (.*)\.mp3$', '$2 - $1.mp3' }

Ce qui transforme des choses comme '01 - Beginning.mp3' en 'Beginning - 01.mp3'.

Utilisez le -WhatIf le paramètre sur Rename-Item pour vérifier les renommages avant de les émettre.

25voto

alex77 Points 298

Si vous voulez vraiment utiliser la ligne de commande Windows (si vous ne voulez pas télécharger quelque chose), vous pouvez le faire comme ceci :

dir /B > fileList.txt
for /f "tokens=1,2,3" %i in (fileList.txt) DO ren "%i %j %l" %l

La première ligne produit la liste des fichiers dans un fichier appelé fileList.txt. La deuxième ligne sépare chacun des noms de la liste en 3 parties, le #, le "-" et le reste du nom. Pour chacune de ces parties, elle exécute la commande de renommage.

24voto

Dayton Brown Points 1549

AntRenamer permet de définir assez facilement un modèle de renommage ; il y en a déjà beaucoup de préparés (et il donne un aperçu des actions) :

AntRenamer

Gratuit pour une utilisation personnelle et commerciale.

20voto

Bertrand Moreau Points 471

De la vieille école :

Vous pouvez faire un DIR et rediriger la sortie vers un fichier, comme dans DIR *.TXT >TEMP.BAT

Utilisez ensuite un éditeur pour supprimer ce dont vous n'avez pas besoin et modifier les parties dont vous avez besoin. Ajoutez un "@echo off" en première ligne, sauvegardez-le et exécutez-le.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X