批處理新手入門導讀[視頻教程]批處理基礎視頻教程[視頻教程]VBS基礎視頻教程
[批處理文件精品]批處理版照片整理器[批處理文件精品]純批處理備份&還原驅動在線第三方下載
返回列表 發帖

[其他] [已解決]在批處理中if 語句如何進行多條件判斷?

本帖最后由 qixiaobin0715 于 2020-9-1 06:07 編輯

以前看到有這樣表示“與”的條件判斷:
if 條件1 if 條件2 ...
那么“或”如何表達?

  1. set judge=false
  2. if 條件1 set judge=true
  3. if 條件2 set judge=true
  4. if "%judge%"=="true" ...
復制代碼
應該只能這樣了。。。

TOP

:handshake
原來可以這樣寫,見識了,謝謝。!

TOP

回復 2# wujunkai

如果條件較多,這樣的話效率應當高一些:
  1. set judge=false
  2. if 條件1 set judge=true || if 條件2 set judge=true || if 條件3 set judge=true ...
  3. if "%judge%"=="true" ...
復制代碼
2

評分人數

TOP

回復 2# wujunkai

用"||"連接if語句好像不行,判斷語句不屬于命令,所以我的想法不成立。

TOP

本帖最后由 qixiaobin0715 于 2020-9-14 14:10 編輯

回復 2# wujunkai
老大,這樣應當可以吧:
  1. set judge=false
  2. if 條件1 set judge=true&goto abc
  3. if 條件2 set judge=true&goto abc
  4. if 條件3 set judge=true&goto abc
  5. ...
  6. if 條件n set judge=true&goto abc
  7. :abc
  8. if "%judge%"=="true" ...
復制代碼

TOP

回復  wujunkai
老大,這樣應當可以吧:
qixiaobin0715 發表于 2020-9-14 12:51


那還不如
  1. if 條件1 goto abc
  2. if 條件2 goto abc
  3. if 條件3 goto abc
  4. ...
  5. if 條件n goto abc
  6. goto :eof
  7. :abc
  8. ...
復制代碼
直接這樣呢

TOP

本帖最后由 qixiaobin0715 于 2020-9-15 10:43 編輯

回復 7# terse

都可以。判斷條件后不能退出批處理,跳轉到下面的語句繼續執行,以下是兩個簡單的例子:
  1. @echo off
  2. set /p str=請輸入字母a或b或c:
  3. if "%str%" == "a" set judge=true&goto abc
  4. if "%str%" == "b" set judge=true&goto abc
  5. if "%str%" == "c" set judge=true&goto abc
  6. :abc
  7. if "%judge%" == "true" (
  8.     echo 你輸入的是字母:%str%
  9. ) else (
  10.     echo 你輸入的字母不是abc中的任何一個
  11. )
  12. echo 歡迎再次光臨
  13. pause
復制代碼
  1. @echo off
  2. set /p str=請輸入字母a或b或c:
  3. if "%str%" == "a" goto abc
  4. if "%str%" == "b" goto abc
  5. if "%str%" == "c" goto abc
  6. echo 你輸入的字母不是abc中的任何一個
  7. goto cba
  8. :abc
  9. echo 你輸入的是字母:%str%
  10. :cba
  11. echo 歡迎再次光臨
  12. pause
復制代碼
用if...else邏輯性要強一些,個人習慣而已!
謝謝。!

TOP

返回列表
重庆时时开奖直播软件