実現したいこと
バッチ処理でif文の条件で"%A%" equ "%B-1%"の右側のように変数の計算を書き込みたいです。
(イメージとして上記のように表現しています。)
非常に初歩的なご質問で申し訳ないのですが、ご教授いただければと思います。
発生している問題・分からないこと
ソースコードの実行でOKを表示させたいです。
if文の条件の中にB-1のような変数を用いた計算式を入れると、計算結果ではないものとして扱われてしまいます。どのようにしたら計算結果を比較に用いることができるでしょうか。
条件分岐としてB-2、B-3と続けていきたいため最初にB-1を別の変数に格納してからif文に書き込むことはできません。
最終的に実現したいコード
set /a A=1
set /a B=2
if "%A%" equ "%B%-1" (
echo No.1
) else if "%A%" equ "%B%-2" (
echo No.2
) else if "%A%" equ "%B%-3" (
echo No.3
)
該当のソースコード
bat
1setlacal enablededelayedexpansion 2 3set /a A=1 4set /a B=2 5 6if "%A%" equ "%B%-1" ( 7 echo OK 8) else ( 9 echo NG 10) 11 12pause
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
"%B%-1" のダブルクォーテーションの位置の変更や、setを付け加えるなどしてみましたがうまくいきませんでした。(1と2-1の文字列が比較されてしまっていることは理解しています)
調べてみたものの、そういったコードを書いているサイトも見つけることができませんでした。
補足
windows11にて作業を行っています。
また、こういった初歩的な躓きがかなり多く勉強不足であると感じるため、おすすめの入門サイト等をご存じでしたら教えていただきたいです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2024/12/10 05:59