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.

Ezhilarasan
la source
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

Pimp Juice IT
la source
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.

mjavu
la source
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
Avani badheka
la source
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