web-dev-qa-db-fra.com

Fichier de commandes Windows si autre utilisation

Désolé, je suis nouveau dans ce domaine. Je voudrais exécuter dans une certaine séquence le même fichier bat avec des paramètres différents. J'ai écrit un fichier batch très simple:

@echo off

REM Note: to see all command line usage options, run bsearch_headless.bat without any arguments.

call behaviorsearch_headless.bat -p test_behaviorsearch.bsearch -o pippo

ECHO
IF EXIST pippo.finalBests.csv (call behaviorsearch_headless.bat -p test_behaviorsearch.bsearch -o topolino)
else goto :eof  

:eof
ECHO Simulatione End!
PAUSE

Cela ne fonctionne pas car else n'est pas reconnu.

Un grand merci pour toute aide!

8
Paola

Dans la documentation if de la ligne de commande (via help if ou disponible sur TechNet également).

La clause ELSE doit figurer sur la même ligne que la commande après le IF. Par exemple:

IF EXIST filename. (
    del filename.
) ELSE (
    echo filename. missing.
)

Ce qui suit NE FONCTIONNERA PAS, car la commande del doit être terminée par une nouvelle ligne:

IF EXIST filename. del filename. ELSE echo filename. missing

Les opérations suivantes ne fonctionneraient pas non plus, car la commande ELSE doit figurer sur la même ligne que la fin de la commande IF:

IF EXIST filename. del filename.
ELSE echo filename. missing


Donc, votre script fonctionnerait si vous remplaçiez

IF EXIST pippo.finalBests.csv (call behaviorsearch_headless.bat -p test_behaviorsearch.bsearch -o topolino)
else goto :eof 

Avec

IF EXIST pippo.finalBests.csv (call behaviorsearch_headless.bat -p test_behaviorsearch.bsearch -o topolino) else goto :eof

OU

IF EXIST pippo.finalBests.csv (
    call behaviorsearch_headless.bat -p test_behaviorsearch.bsearch -o topolino
) else (
    goto :eof
)

J'espère que cela pourra aider.

17
BDM

ifelf.cmd:

@ECHO OFF
@IF EXIST "C:\boot.ini" (
@ECHO WoW! It may be M$Windows! 
) ELSE (
@ECHO Boot.ini Lost! My precious! Stolen! 
)
@ECHO .
@ECHO Wait 10 sec ...
@ping 127.0.0.1 -n 10 > NUL
0
STTR