抱歉,我对这个东西还不熟悉。我想按一定顺序运行具有不同参数的同一个 bat 文件。我写了一个非常简单的批处理文件:
@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
else
由于无法识别,因此它不起作用。
非常感谢您的帮助!
答案1
从命令行if
上的文档(通过help if
或可在 TechNet 上找到也)。
ELSE 子句必须与 IF 后的命令出现在同一行。例如:
IF EXIST filename. ( del filename. ) ELSE ( echo filename. missing. )
以下操作不起作用,因为 del 命令需要以换行符终止:
IF EXIST filename. del filename. ELSE echo filename. missing
以下方法也不会起作用,因为 ELSE 命令必须与 IF 命令的结尾位于同一行:
IF EXIST filename. del filename. ELSE echo filename. missing
因此,如果你将脚本替换为
IF EXIST pippo.finalBests.csv (call behaviorsearch_headless.bat -p test_behaviorsearch.bsearch -o topolino)
else goto :eof
和
IF EXIST pippo.finalBests.csv (call behaviorsearch_headless.bat -p test_behaviorsearch.bsearch -o topolino) else goto :eof
或者
IF EXIST pippo.finalBests.csv (
call behaviorsearch_headless.bat -p test_behaviorsearch.bsearch -o topolino
) else (
goto :eof
)
希望有所帮助。
答案2
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