他の使用方法の場合はWindowsバッチファイル


10

申し訳ありませんが、これは初めてです。特定のシーケンスで同じ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認識されないため動作しません。

助けてくれてありがとう!


明らかに、あなたが質問している問題ではないECHOが、バッチファイルの途中にあるECHO.ものは何かである必要はありませんか?
スコット

私はあなたの質問に答えましたか?
BDM 2013年

回答:


19

ifコマンドラインのドキュメントから(TechNet経由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
)

お役に立てば幸いです。


0

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

1
すべての@sとは何ですか?
BDM 2013年

@ProfPickleマップコマンドを非表示にします。サンプル@ECHO OFFECHO OFF
STTR 2013年

1
知っていますが、一度入れたら使う必要はありませんecho off
BDM 2013年

1
@ProfPickleはい、そうですが、プログラムは無視しているECHO OFFが知覚している時代がありました@。私のパラノイアや歴史的な事件へのオマージュとしてそれを考えてください)。
STTR 2013年

1
十分に公正で、私は妄想症を理解しています。
BDM 2013年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.