Pb script .bat simple

Plouc-des-forets -  
karirovax Messages postés 3221 Date d'inscription   Statut Membre Dernière intervention   -
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

A voir également:

6 réponses

Gord21 Messages postés 918 Date d'inscription   Statut Membre Dernière intervention   289
 
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%


@+
0
Plouc-des-forets
 
Il n'y a pas de GOTO et ELSE GOTO en batch à priori,
en tout cas ca ne fonctionne pas
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
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%"
)
0
Plouc-des-forets
 
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 !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
start n'aime pas les espaces, essayer
start "%PERPATH%\%WIN%" CODE 
0
karirovax Messages postés 3221 Date d'inscription   Statut Membre Dernière intervention   204
 
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"
0