Un moyen facile de renommer tous les fichiers d'un répertoire dans Windows [fermé]

9

Existe-t-il un moyen simple de renommer tous les fichiers d'un répertoire? PowerShell est-il la voie à suivre?

J'aimerais partir de là:

c:\family_pics\
   img123.jpg
   img124.jpg

pour ça:

c:\family_pics\ 
   family_pics_1.jpg 
   family_pics_2.jpg

Idéalement, je voudrais exécuter un script sur un répertoire qui renommerait tous les fichiers en fonction du nom du répertoire actuel tout en préservant l'extension et parcourrait l'arborescence du répertoire de manière récursive.

Même Mien
la source

Réponses:

16

Partant du principe que tout peut être fait sur une seule ligne de PowerShell (tout comme tout peut aussi être fait sur 1 ligne de Perl), voici le code PS pour un seul répertoire.

$i=0; get-childitem $dirname | foreach-object {

       rename-item "$dirname\$_" $("{0}_{1}{2}" -f $dirname, ++$i, $_.Extension)
}

Pour le faire récursivement, vous devez envelopper ce qui précède dans une fonction, puis l'appeler sur chaque répertoire de votre arborescence. Vous pouvez également remplacer la chaîne de formatage par quelque chose d'un peu plus sophistiqué si vous avez besoin d'utiliser des expressions rationnelles.

user2278
la source
10

C'est un peu hacky, mais je l'ai fait pendant 12 ans et je suis assez rapide:

  • Ouvrez une invite de commande dans c: \ family_pics et tapez dir >> dir.xls
  • Ouvrez le fichier dir.xls dans Excel
  • Mettez en surbrillance la première colonne, sélectionnez "Texte dans les colonnes" et ajoutez des sauts de colonne sur les caractères d'espace (en ignorant les doublons)
  • Vous avez maintenant un joli tableau avec vos noms de fichiers actuels, les tailles de fichiers, etc.
  • Ajouter une nouvelle colonne "ren" avant le nom de fichier
  • Ajoutez une nouvelle colonne après le nom de fichier et utilisez les fonctions Excel que vous souhaitez générer le nouveau nom de fichier. Dans votre cas, si vous tapez les deux premiers noms de fichiers, puis double-cliquez sur le coin inférieur droit de la cellule, Excel détectera automatiquement le modèle et générera les noms restants.
  • Enregistrer sous ren.bat
  • Exécutez le fichier batch que vous venez de créer et il renommera tous vos répertoires

Bien que cela ne soit pas immédiatement évident, Excel est très bien adapté à ce type de tâche, car vous pouvez utiliser tout type de formule que vous souhaitez pour générer les nouveaux fichiers, en utilisant les entrées des fichiers existants (horodatage, nom de fichier, taille, etc. ).

Portman
la source
Excel est le meilleur générateur de code / script que je connaisse.
GvS
3

Bien que vous puissiez faire des choses avec un fichier batch, j'ai trouvé que plus de contrôle, d'options, etc. et un indice visuel de ce qui est sur le point de se produire est meilleur.

Il existe un outil gratuit appelé CKRename. Le site de l'auteur d'origine semble avoir disparu, mais l'application est entièrement fonctionnelle et assez populaire (je l'utilise depuis 8 ans). Télécharger CKRename

Voici une capture d'écran de celui-ci en action entrez la description de l'image ici

scunliffe
la source
1

Vous pouvez simplement mettre en surbrillance tous ceux que vous voulez dans l'explorateur, puis cliquer avec le bouton droit sur le premier et le renommer et Windows les renommera tous pour vous avec la même convention de dénomination.

user2287
la source
Juste essayé à commencer par fileA.m, fileB.m, etc. Istead de fileA_001.m, fileB_002.m, au lieu obtenu fileA_001.m, fileA_001 (1) .m, fileA_001 (2) .m, etc.
jacobsee
1

ReNamer: http://www.den4b.com/

Voir également: Comment renommer une partie d'un nom de fichier à partir d'une sélection de fichiers dans Windows?

Déposez votre dossier contenant des images dans ReNamer (les sous-dossiers seront ajoutés récursivement par défaut). Cliquez sur la colonne Nom pour trier par nom de fichier si vous souhaitez conserver l'ordre séquentiel. Une balise Meta spéciale vous permettra d'utiliser le nom du dossier parent pour renommer. Utilisez les règles de changement de nom suivantes:

  1. Supprimer de la position 1 jusqu'à la fin (extension de saut)
  2. Insérez ": File_FolderName: _" comme préfixe (ignorer l'extension)
  3. Sérialiser incrémentiel à partir de 1 étape 1 répéter 1 comme suffixe (ignorer l'extension)

entrez la description de l'image ici

cagcowboy
la source
Renommer +1 était tout simplement génial!
Chris Marisic
0

Téléchargez RenameFiles (freeware). C'est l'un des seuls programmes qui me manque vraiment depuis que je suis passé de Windows à Apple.

Il semble qu'il soit disponible ici http://it-falke.com/software/renamefiles/us_description.php mais je n'ai pas de PC pour tester ce lien. La dernière version que j'ai utilisée était 2.1.4. C'était vraiment simple mais polyvalent.

Nom d'utilisateur
la source
0

cela supprime les quatre derniers caractères (généralement l'extension)

dir *.jpg | % { ren $_.Name $_.Name.Substring(0,$_.Name.Length-4) }

Vous devrez peut-être adapter ce qui précède pour gérer les espaces ou vos besoins de changement de nom spécifiques

Goyuix
la source