何らかの工夫をする必要があります。
AND
IF 文を繋げる方法
ELSE 文を使わない場合はこの方法のみで大丈夫です。IF 条件A IF 条件B ( 処理1 ) ELSE ( 処理2(注意!) )なぜ注意が必要かというと、この書き方は以下のように解釈されるため、
条件A が FALSE の場合には実行されないからです。
IF 条件A ( IF 条件B ( 処理1 ) ELSE ( 処理2(条件1が TRUE で条件2 が FALSE の場合にのみ実行される) ) )
環境変数を使う方法(オススメ)
上記の IF 文を繋げる方法を使用しつつ、環境変数を挟むことで ELSE 文を使いやすくします。一番汎用性が高いと思います。
set TRUE_FALSE=FALSE IF 条件A IF 条件B set TRUE_FALSE=TRUE IF %TRUE_FALSE%==TRUE ( 処理1 ) ELSE ( 処理2 )
文字列を複数比較する場合には
条件が両方文字列比較の場合は、文字列を繋げた値を比較すると基本的にうまくいきます。変数の間に「使わない文字」を入れる必要があります。文字を入れないと、例えば期待値AがA、期待値BがBC であった場合、変数AがA で変数BがBCでも、変数AがAB、変数BがCでも真になってしまうからです。
IF 変数A-変数B==期待値A-期待値B ( 処理1 ) ELSE ( 処理2 )
OR
環境変数を使う方法
AND の場合と同じく、環境変数を使う方法が素直でわかりやすいです。set TRUE_FALSE=FALSE IF 条件A set TRUE_FALSE=TRUE IF 条件B set TRUE_FALSE=TRUE IF %TRUE_FALSE%==TRUE ( 処理1 ) ELSE ( 処理2 )条件A は 条件B の ELSE の中に入れたほうが無駄がないのですが、
並列に書いたほうが見やすい気がします。お好みでどうぞ。
AND も OR も環境変数の代わりに goto とラベルを使用しても良いです。
バッチファイル : 改行コードを変数に入れる
0 件のコメント:
コメントを投稿