Copie et renommage automatisé en bat

Copie et renommage automatisé en bat - Shell/Batch - Programmation

Marsh Posté le 10-03-2011 à 14:51:36    

salut tlm,
 
je suis nouveau ici et je débute en programmation en bat, voici mon dilemme :  
 
je dispose de fichiers png dans un répertoire
 
toto1.png
toto2.png
toto3.png
...
 
et je souhaiterai créer copier et renommer ces fichiers dans le même répertoires afin de  
disposer d'une plus longue séquence en gros me retrouver avec :
 
toto1.png
toto2.png
toto3.png
toto11.png (copie de toto1.png)
toto12.png
toto13.png
toto21.png
toto22.png
...
 
j'ai pour cela codé ceci :  
 
for %X in (*.png) do (  
set temp = 0
:debut
if  %temp% == 30 goto fin
 
set "nom_sans_ext=%~nX"
copy "%X" nom_sans_ext+temp
set /a temp=%temp%+1
goto debut
:fin
 
)
 
biensur ma présence sur ce forum et ma question vous amèneront facilement à la
conclusion suivante : ce programme ne fonctionne pas.
 
donc pourriez vous me donner un coup de main?
 
merci d'avance,
 
 
 

Reply

Marsh Posté le 10-03-2011 à 14:51:36   

Reply

Marsh Posté le 17-03-2011 à 15:34:56    

Bon au cas ou ca intéresserait qqu :  
 
j'ai créer un fichier batch.bat contenant :
 
 

Code :
  1. @echo off
  2. cls
  3. for %%X in (*.jpg) do (
  4.  echo %%~nX >> nom_sans_extension.txt
  5.  call batch1.bat
  6. )


 
qui appelle donc le fichier batch1.bat qui contient :  
 

Code :
  1. set /a count = 0
  2. :debut
  3. FOR /f %%i IN (nom_sans_extension.txt) DO (
  4. copy  %%i.jpg %%i_%count%.jpg
  5. )
  6. if %count% == 2 goto fin
  7. set /a count = count + 1
  8. goto debut
  9. :fin
  10. del nom_sans_extension.txt


 
et ca semble marcher!!!!
 
ca me paraît bien bourrin et pas très subtile mais comme le dit un proverbe militaire,

Citation :

si c'est stupide et que ca marche c'est que ce n'est pas stupide!


 
vous pouvez reprendre une activité normale, a ciao bonne prog ;-)


Message édité par RM9238 le 17-03-2011 à 15:37:49
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed