Forum Clubic

Boucle FOR en batch

bonjour a tous, voila, je suis sous dos et je voudrai faire un petit script tt bete. je veux juste pouvoir faire quelque deplacement de fichier et suppression suivant les repertoire donnée. Mais ma syntaxe de for est apparament mauvaise, mais le bach, c’est pas mon fort… voici ce que j’ai fait:


for %%a in (Repertoire1 Repertoire2 rep3) do (
IF NOT EXIST C:\NDdujour\dujour\%%a\tmp goto finfor
        move C:\NDdujour\dujour\%%a\tmp\*.pdf C:\NDdujour\dujour\%%a
        rd C:\NDdujour\dujour\%%a\tmp
        echo Initialisation de %%a
:finfor
)

donc voila, dans mes different rep, si il y a un rep tmp, je veux enlever les pdf et le supprimer
voila si qq’un a une idee… merci

bon en fait, ce que je n’arrive pas a faire, c’est executer plus d’une ligne derriere mon for
si je fait un:

for /D %%a in (rep1 rep2) do echo %%a

cela fonctionne tres bien
mais des que je veux faire plus qu’un echo, ca plante, il me dit que la syntaxe est incorrect.
J’ai essayé les () et les {} les do … done

rien a faire :??:
qq’un a une idee??? svp

Tu es vraiment sous DOS ou sous une invite de commandes Windows ? Si le second cas, quel Windows ?

Toujours le deuxième cas, que donne ce code ?

for %%a in (Repertoire1 Repertoire2 rep3) do (
  IF EXIST C:\NDdujour\dujour\%%a\tmp (
       move C:\NDdujour\dujour\%%a\tmp\*.pdf C:\NDdujour\dujour\%%a
       rd C:\NDdujour\dujour\%%a\tmp
       echo Initialisation de %%a
  )
)

Attention : %%a et non pas %a% !!!