2 votes

Comment renommer plusieurs fichiers ayant le même nom et des extensions différentes ?

Screenshot

J'ai un certain nombre de fichiers portant le même nom et des extensions différentes dans un dossier. À l'origine, ces fichiers étaient tous au format .jpg avec des noms différents.

Comme :
1.j87
1.j88
1.j89

Maintenant, je dois renommer chaque image à un nom et une extension différents individuellement.

J'ai trouvé ce mais je ne sais pas comment utiliser ce script. Quelqu'un peut-il m'aider ?

0voto

user783196 Points 1

Je sais comment accomplir cela avec Windows CMD Shell après avoir changé le répertoire de vos fichiers JPG.

Enregistrez ce script dans un fichier BAT tel que renamer.bat ou toute autre commande non réservée et exécutez-la à partir de votre invite de commande.

setlocal enabledelayedexpansion

set /a count=0
for /f "tokens=\*" %%a in ('dir /b /od \*.jpg') do (

    ren %%a **_ArbitraryString_**!count!.jpg
    set /a count+=1

)

D'après votre question, il semblerait que vous vouliez également renommer chaque *.jpg le fichier est différent de *.jpg ce qui créera des associations de fichiers et rendra les images difficiles à ouvrir. Si c'est VRAIMENT VRAI, alors remplacez la ligne Rename par :

ren %%a **_ArbitraryString_**!count!.!count!jpg

0voto

user262656 Points 1

En réponse au commentaire d'Arjun 10/19 ~2100 UTC, vous devriez exécuter ce script dans un fichier batch à l'intérieur du même sous-répertoire que vos fichiers, il renommera les fichiers A Random string of numbers.01.jpg et les numéros suivants jusqu'à ce que tous les fichiers du répertoire soient traités. TOUS les fichiers dans ces répertoires, qu'ils soient JPG ou non, seront renommés avec un nom aléatoire, un numéro séquentiel et une extension .jpg.

Tout sous-répertoire nécessitera l'exécution du script à l'intérieur de ces répertoires.

setlocal enabledelayedexpansion
set /a count=0
for /f "tokens=*" %%a in ('dir /b /od *.*') do (
    ren %%a %random%!count!.jpg
    set /a count+=1
)

0voto

John Points 109

Le script que vous avez trouvé renomme inconditionnellement tous les éléments en filename{numéro de séquence à partir de 1}.jpg depuis votre répertoire actuel. Gardez à l'esprit que les commandes Renommer ou Déplacer peuvent être très destructrices, surtout lorsque vous ne savez pas exactement quel est le code.

Je modifie le code pour qu'il soit plus sûr pour vous comme ceci :

Get-Item "2017-0~1.*" | ForEach-Object {

   $newName = $_.basename + $_.Extension.replace(".", "_") + ".jpg"
   Write-Host "rename-item" $_ $newName
   # rename-item $_ $newName
}

Le code récupère les éléments nommés "2017-0~.*" dans le répertoire courant. Pour chaque élément, il renomme l'élément en ajoutant l'extension ".jpg" à la fin tandis que le point et l'extension d'origine sont remplacés par le trait de soulignement et l'extension, par exemple ".001" en "_001". Dans ce cas, vous pouvez savoir quel était le nom du fichier original.

Notez que l'action réelle est commentée.

Pour exécuter le code :

> cd c:\to\your\directory

C:\to\your\directory> powershell

PS C:\to\your\directory> 

Collez le code

PS C:\to\your\directory> Get-Item "2017-0~1.*" | ForEach-Object {
>>
>>    $newName = $_.basename + $_.Extension.replace(".", "_") + ".jpg"
>>    Write-Host "rename-item" $_ $newName
>>    # rename-item $_ $newName
>> }
>>

PS C:\to\your\directory> exit

C:\to\your\directory>

0voto

Tomasz Wysocki Points 111

Si vous n'êtes pas à l'aise avec l'utilisation de scripts, vous pouvez renommer les fichiers en utilisant l'excellent (et gratuit) IrfanView il suffit de suivre les étapes suivantes :

  • Aller à File > Batch Conversion/Rename... .

  • Sur Work as sélectionnez Batch rename .

  • Sur Batch rename settings changer le modèle par défaut de image### a image###.jpg car vous voulez aussi changer l'extension. Ceci nommera les fichiers "image001.jpg", "image002.jpg", etc. (si vous avez plus de 999 images dans ce dossier, utilisez plutôt image####.jpg ). Vous pouvez configurer d'autres modèles de noms à l'aide de l'option Options bouton.

  • Dans le panneau d'exploration à droite, sélectionnez All files (*.*) en Type et allez dans le dossier dans lequel vous avez les fichiers, puis sélectionnez ceux que vous voulez renommer et appuyez sur Add (ou appuyez sur Add all si vous voulez renommer tous les fichiers de ce dossier).

  • Sur Output directory for result files presse Use current ("look in") directory pour sélectionner le même dossier dans lequel se trouvent les fichiers, ou utilisez Browse pour en sélectionner un autre si vous voulez déplacer les fichiers renommés vers un autre dossier.

  • Enfin, cette presse Start batch pour commencer le renommage par lot.

Notez que par mesure de sécurité, IrfanView fera une copie des fichiers avec les nouveaux noms dans le dossier de sortie, au lieu de simplement renommer les fichiers existants. Pour renommer les fichiers originaux, allez dans le dossier Options de Batch rename settings et le changement Copy original/input files to output directory a Move original/input files to output directory .

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