Pb script .bat simple
Plouc-des-forets
-
karirovax Messages postés 3584 Statut Membre -
karirovax Messages postés 3584 Statut Membre -
Bonjour,
J'ai un petit problème dans l'écriture de mon batch, qui pourtant me parait bon.
Voici son commencement :
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
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
-
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%
@+ -
Il n'y a pas de GOTO et ELSE GOTO en batch à priori,
en tout cas ca ne fonctionne pas -
hello
regrouper les commandes entre () avec un séparateur ou sur plusieurs lignesIf not exist "%PERPATH%" ( Md %PERPATH% & Copy "%XFC_HOME%\*.*" "%PERPATH%") ou If not exist "%PERPATH%" ( Md %PERPATH% Copy "%XFC_HOME%\*.*" "%PERPATH%" )
-
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 ! -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
start n'aime pas les espaces, essayer
start "%PERPATH%\%WIN%" CODE
-
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"