Pb script .bat simple

Bonjour,

J'ai un petit problème dans l'écriture de mon batch, qui pourtant me parait bon.

Voici son commencement :

set XFC_HOME=\\SERVER\APPLI\X\Y\Z
set PERPATH=C:\Program Files\Repertoire\Z
set WIN=PremierExec.exe
set ORA=SecondExec.exe


If not exist "%PERPATH%" Md %PERPATH% Copy "%XFC_HOME%\*.*" "%PERPATH%"

start %PERPATH%\%WIN%


Je configure mes variables, et j'effectue un test simple.
Si le repertoire PERPATH n'existe pas dans mon DD, je le créé et je copie tout le repertoire XFC_HOME dans celui ci.
Cependant ca ne copie pas ...
Est ce que la ligne est trop longue et donc, je devrais fair un saut de ligne ?
Cependant je perdrais ma condition "If not exist" non ?
C'est une commande que j'ai autrefois utilisé et qui fonctinnait tres bien, cependant il ne s'agissait pas de .exe à l'époque

6 réponses

  1. Bonjour,
    Je pense que tu ne peux pas mettre plusieurs commandes à la suite. Essaies en mettant un GOTO.

    If not exist "%PERPATH%" GOTO Creer ELSE GOTO Continuer
    :Creer
    Md %PERPATH% 
    Copy "%XFC_HOME%\*.*" "%PERPATH%"
    :Continuer
    start %PERPATH%\%WIN%


    @+
    1. Il n'y a pas de GOTO et ELSE GOTO en batch à priori,
      en tout cas ca ne fonctionne pas
      1. Contributeur
        hello
        regrouper les commandes entre () avec un séparateur ou sur plusieurs lignes
        If not exist "%PERPATH%" ( Md %PERPATH% & Copy "%XFC_HOME%\*.*" "%PERPATH%")
        ou
        If not exist "%PERPATH%" (
           Md %PERPATH%
           Copy "%XFC_HOME%\*.*" "%PERPATH%"
        )
        
        1. Il semblerait que la synthaxe suivante fonctionne :

          [CODE]If not exist "%PERPATH%" (
          Md "%PERPATH%"
          Copy "%XFC_HOME%\*.*" "%PERPATH%"
          )[/CODE]

          Cependant, lorsque je désire lancer la commande :

          [CODE]start %PERPATH%\%WIN%[/CODE]

          Rien ne se lance.

          Lorsque j'essaie :
          [CODE]
          start "%PERPATH%\%WIN%"[/CODE]

          Une fenêtre de commande windows se lance par contre.
          Par ailleurs parfois j'ai une fenêtre de l'explorer qui s'ouvre toute seule et qui pointe sur "C:\Program" vide. Pourquoi ?

          Merci à tous !
          1. Contributeur
            start n'aime pas les espaces, essayer
            start "%PERPATH%\%WIN%" CODE 
            1. Salut

              tant que les solution sont de trés bon méthodes , j'ajoute :

              vérifier les noms des repertoires aprés la commande set .... car s'il ya des espaces donc il ya des problèmes ...

              set XFC_HOME="\\SERVER\APPLI\X\Y\Z"
              set PERPATH="C:\Program Files\Repertoire\Z"

              set WIN="PremierExec.exe"
              set ORA="SecondExec.exe"