• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:バッチファイル IF 複数条件方法)

バッチファイル IF 複数条件方法

このQ&Aのポイント
  • WindowsXP環境にてバッチファイルの複数条件方法について解説します。
  • 具体的には、バッチファイル内で複数の条件を組み合わせて処理を行う方法について説明します。
  • また、特定の条件が満たされた場合にログに記録する方法も解説します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

期待する結果が出ていないソースだけの提示ではロジックが正確に分からないのでロジックを書いてもらといいかもしれません。 例えば、A=1かつB=2で正常終了、それ以外は異常終了にしたい、コードは今はこうなっていると。変数A,Bにはこういう値が入る可能性があるとかまでわかればなおよしと思います。 上記であればこんな感じではダメ? @echo off rem --- 時間変数 --- set yyyy=%date:~-10,4% set yy=%date:~-8,2% set mm=%date:~-5,2% set dd=%date:~-2,2% rem --- ログフォルダ変数 --- set LOG_DIR1=D:\LOG rem --- ログファイル変数 --- set LOG_FILE1=LOG.txt set A=11 set B=2 IF "%A%-%B%" == "1-2" ( echo %yyyy%%mm%/%dd% %HHMMSS%正常終了 >> %LOG_DIR1%\%LOG_FILE1% ) ELSE ( echo %yyyy%%mm%/%dd% %HHMMSS%異常終了 >> %LOG_DIR1%\%LOG_FILE1% )

その他の回答 (1)

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.2

お書きのスクリプトだと、 IF %A%==1 (  IF %B%==2 (   echo 正常  ) ELSE (   echo 異常  ) ) と同じです。つまり、A が 1 でないと何も表示されません。 簡単にやるには、%1 の方がお書きのような方法がいいですね。 他にはこういう方法も。 SET OKNG=NG IF %A%==1 IF %B%==2 SET OKNG=OK IF %OKNG%==OK (  echo 正常 ) ELSE (  echo 異常 )

関連するQ&A