Renommer des fichiers avec commande batch
ludo
-
ludo -
ludo -
Bonjour,
J'ai besoin de votre aide pour renommer une liste de fichiers à l'aide d'une commande .bat :
voila, je voudrais que les fichiers "source_#####_####" soient renommés en "ID_#####" : remplacer source par ID et en conserver que le premier groupe de chiffres #####.
J'ai essayé avec le commande REN pour changer les lettres du début mais je n'obtient pas ce que je veux: en effet,
REN source* ID* me donne "IDurce_#####_####
et je ne sais pas comment faire pour le reste à savoir garder le premier groupe de chiffres.
Si vous pouvez m'aider et m'indiquer un petit code ca serait sympa !
Merci d'avance
J'ai besoin de votre aide pour renommer une liste de fichiers à l'aide d'une commande .bat :
voila, je voudrais que les fichiers "source_#####_####" soient renommés en "ID_#####" : remplacer source par ID et en conserver que le premier groupe de chiffres #####.
J'ai essayé avec le commande REN pour changer les lettres du début mais je n'obtient pas ce que je veux: en effet,
REN source* ID* me donne "IDurce_#####_####
et je ne sais pas comment faire pour le reste à savoir garder le premier groupe de chiffres.
Si vous pouvez m'aider et m'indiquer un petit code ca serait sympa !
Merci d'avance
A voir également:
- Renommer des fichiers avec commande batch
- Renommer des fichiers en masse - Guide
- Invite de commande - Guide
- Fichier batch - Guide
- Commande terminal mac - Guide
- Renommer son iphone - Guide
23 réponses
Merci Dubcek, ca marche.
Dans le cas où il y aurait un conflit entre 2 fichiers présentant le meme premier paquet de chiffres, il serait souhaitable en effet de rajouter à la fin du nom un "_v2","_v3" pour les différencier... chapeau si vous trouvez un code batch pour faire cela...
Dans le cas où il y aurait un conflit entre 2 fichiers présentant le meme premier paquet de chiffres, il serait souhaitable en effet de rajouter à la fin du nom un "_v2","_v3" pour les différencier... chapeau si vous trouvez un code batch pour faire cela...
essayer
C:> dir /b
source_1_1
source_1_2
source_1_3
source_1_4
C:> aa
C:> dir /b
ID_1
ID_1_v2
ID_1_v3
ID_1_v4
C:> type aa.bat
@ echo off
set /a v=1
setlocal enableDelayedExpansion
for /f "delims=_ tokens=1,2*" %%a in ('dir /b source*') do (
set f=ID_%%b%%~xc
if !v! GTR 1 set f=ID_%%b_v!v!%%~xc
if exist !f! (
set /a v+=1
set f=ID_%%b_v!v!%%~xc
)
ren %%a_%%b_%%c !f!
)
C:>