Batch - renommer
Résolu/Fermé
okidoki
-
14 janv. 2012 à 18:29
0kid0ki Messages postés 174 Date d'inscription mercredi 18 janvier 2012 Statut Membre Dernière intervention 6 mars 2014 - 22 janv. 2012 à 16:52
0kid0ki Messages postés 174 Date d'inscription mercredi 18 janvier 2012 Statut Membre Dernière intervention 6 mars 2014 - 22 janv. 2012 à 16:52
A voir également:
- Batch - renommer
- Renommer plusieurs fichiers - Guide
- Renommer iphone - Guide
- Fichier batch - Guide
- Batch renommer une partie du nom de plusieurs fichiers ✓ - Forum Autoit / batch
- Renommer groupe whatsapp - Guide
6 réponses
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 615
21 janv. 2012 à 08:06
21 janv. 2012 à 08:06
enlever le echo devant le rename pour effetuer le rename
C:> dir /b MyPhoto_001.gif MyPhoto_002.jpg C:> ..\bb rename MyPhoto_001.gif vacances_ete_2011-001.gif rename MyPhoto_002.jpg vacances_ete_2011-002.jpg Fin... C:> cd .. C:> type bb.bat @echo off setlocal enableDelayedExpansion set fichier=photo set nomFutur=vacances_ete_2011 set CD=. for /F "delims=" %%a in ('dir /b %CD%\*%fichier%*.gif %CD%\*%fichier%*.jpg') do ( for /f "delims=_ tokens=1,2" %%b in ('echo %%a') do ( set c=%%c echo rename %%a %nomFutur%-!c! ) ) echo Fin... pause >NUL C:>
0kid0ki
Messages postés
174
Date d'inscription
mercredi 18 janvier 2012
Statut
Membre
Dernière intervention
6 mars 2014
8
19 janv. 2012 à 17:44
19 janv. 2012 à 17:44
up
jmwurth
Messages postés
2933
Date d'inscription
dimanche 13 août 2006
Statut
Membre
Dernière intervention
23 juin 2013
850
19 janv. 2012 à 18:52
19 janv. 2012 à 18:52
Bonjour,
La commande set sert à fixer les variables d'environnement . Le programme se termine généralement par l'annulation de la variable par exemple par
set variable=
Le programme ne comprend pas d'où viennent les *. D'autre par, il manque une commande for
Je crains que peu de batcheurs fous, comme il en existait dans les années 80-90, aient envie d"explorer ce programme
La commande set sert à fixer les variables d'environnement . Le programme se termine généralement par l'annulation de la variable par exemple par
set variable=
Le programme ne comprend pas d'où viennent les *. D'autre par, il manque une commande for
Je crains que peu de batcheurs fous, comme il en existait dans les années 80-90, aient envie d"explorer ce programme
0kid0ki
Messages postés
174
Date d'inscription
mercredi 18 janvier 2012
Statut
Membre
Dernière intervention
6 mars 2014
8
Modifié par 0kid0ki le 19/01/2012 à 19:24
Modifié par 0kid0ki le 19/01/2012 à 19:24
pour le fait que le script ne comprenne pas d'où viennent les * j'avais compris mais ce que je voudrais savoir c'est comment faire en sorte qu'il comprenne d'où ils viennent
PS : mon système d'étiquette revient aux même qu'un for ^^
PS : mon système d'étiquette revient aux même qu'un for ^^
jmwurth
Messages postés
2933
Date d'inscription
dimanche 13 août 2006
Statut
Membre
Dernière intervention
23 juin 2013
850
Modifié par jmwurth le 19/01/2012 à 20:35
Modifié par jmwurth le 19/01/2012 à 20:35
En fait, la commande set peut s'utiliser pour initialiser une variable, mais par la suite, dans la boucle, il ne faut plus la prendre, mais l'instruction reste obscure
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 615
20 janv. 2012 à 09:52
20 janv. 2012 à 09:52
hello
peut on voir un exemple des noms de fichier avant et après
peut on voir un exemple des noms de fichier avant et après
0kid0ki
Messages postés
174
Date d'inscription
mercredi 18 janvier 2012
Statut
Membre
Dernière intervention
6 mars 2014
8
20 janv. 2012 à 18:27
20 janv. 2012 à 18:27
eh bien j'ai un fichier du style :
ou (exemple concret) :
et je veux à la fin :
Mais j'ai utilisé plusieurs appareils donc les photos n'ont pas du tout été nommé selon le même modèle il faudrait que mon programme s'adapte
machinPhototruc002blabla.jpg
ou (exemple concret) :
MyPhoto_002.jpg
et je veux à la fin :
vacances_ete_2011-002.jpg
Mais j'ai utilisé plusieurs appareils donc les photos n'ont pas du tout été nommé selon le même modèle il faudrait que mon programme s'adapte
0kid0ki
Messages postés
174
Date d'inscription
mercredi 18 janvier 2012
Statut
Membre
Dernière intervention
6 mars 2014
8
22 janv. 2012 à 16:52
22 janv. 2012 à 16:52
Alors merci dubcek
Grâce à toi j'ai put avoir un résultat proche de ce que je voulais
Donc j'ai modifié ce que tu as fait pour pouvoir moduler complétement le prog via des variables d'environnement :
Voili voulou pour ceux qui le veulent (il doit pas y en avoir beaucoup ^^)
Grâce à toi j'ai put avoir un résultat proche de ce que je voulais
Donc j'ai modifié ce que tu as fait pour pouvoir moduler complétement le prog via des variables d'environnement :
@echo off :Initialisation setlocal enableDelayedExpansion :: rentrez ici le nom commun à tous les fichiers à modifier set fichier=photo :: rentrez ici le nom des fichiers après modification set nomFutur=vacance_ete_2011 :: rentrez ici le séparateur entre le nom du fichier et le numéro set sep="_" set sep=%sep:1% :: rentrez ici l'extension de votre fichier set ext=jpg :: rentrez ici l'emplacement des fichiers (mettre . si dans le même fichier que le '.bat') set CD=. :Debut for /F "delims=" %%a in ('dir /b %CD%\*%fichier%*.%ext%') do ( for /f "delims=%sep% tokens=1,2" %%b in ('echo %%a') do ( set c=%%c rename %%a %nomFutur%-%%c.%ext% ) ) :Fin echo Fin... pause >NUL
Voili voulou pour ceux qui le veulent (il doit pas y en avoir beaucoup ^^)