Comment renommer plusieurs fichiers en supprimant un nom particulier, des espaces et en ajoutant une chaîne unique?


2

j'ai n nombre de fichiers que je veux renommer en supprimant un nom particulier, les espaces, et je veux ajouter une chaîne unique portant le nouveau nom:

Par exemple.

"MPKL 100055.jpg" 
"MPKL 200452.jpg" 
"MPKL 500002_thumb.jpg"

Je souhaite renommer les fichiers ci-dessus en:

"00100055.jpg"
"00200452.jpg"
"00500002_thumb.jpg"

Deux zéros doivent précéder le numéro existant.


Vous voulez remplacer "MKPL" par "00", non? Est-ce tout ce que vous voulez faire?
Alex.S

Réponses:


2

Dans l'exemple ci-dessous, j'ai utilisé un POUR / F boucle pour définir les délimiteurs et les jetons en analysant les parties de nom de fichier et les utiliser pour définir les variables à utiliser ultérieurement avec REN commander. J'ai aussi utilisé le Setlocal EnableDelayedExpansion pour gérer le développement des variables définies dans la boucle en conséquence, pour être utilisé correctement (non analysé au moment de l'exécution) avec la commande rename par itération dans la boucle.

@ECHO ON

SETLOCAL ENABLEDELAYEDEXPANSION
SET SourceDir=C:\Users\User\Desktop\Tester

FOR /F "TOKENS=1-3 DELIMS=. " %%F IN ('DIR /B /A-D "%SourceDir%\*.jpg"') DO (
    SET "part1=%%~F" 
    SET "part2=%%~G" 
    SET "part3=%%~H"
    REN "%SourceDir%\!part1! !part2!.!part3!" "00!part2!.!part3!"
)
GOTO EOF

Ressources supplémentaires


Oui ce code m'a donné la solution correcte. Merci PIMP JUICE IT
Ezhilarasan

1

Je renomme beaucoup de fichiers et je trouve cela très pratique à utiliser Renommer en bloc Utilitaire . Ce est gratuit. Vous pouvez renommer des fichiers et des dossiers dans des dossiers et / ou des sous-dossiers de plusieurs manières, notamment en modifiant les extensions.


1
@echo off

Setlocal enabledelayedexpansion

Set "Pattern=MPKL" 

Set "Replace=00"

For %%# in ("FOLDER_PATH/*.jpg") Do (

    Set "File=%%~nx#"

    Ren "%%#" "!folder!!file!" "!file: =!!File:%Pattern%=%Replace%!"


)

Pause&Exit

J'exécute la commande ci-dessus dans cmd "f était inattendu à ce moment" comme cette erreur est survenue.
Ezhilarasan

Cela fonctionnait-il?
Avani badheka

Je veux courir dans les fenêtres.
Ezhilarasan

Pourriez-vous me donner une solution pour Windows. @ Avani
Ezhilarasan

1
Bien que cela puisse répondre à la question, ce serait une meilleure réponse si vous pouviez fournir des explications. Pourquoi ça le fait.
DavidPostill
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.