看板 Programming 關於我們 聯絡資訊
請教各位高手, 小弟要在if條件式中設定參數的值, 在輸入參數值為1的時候, 設定變數a=WAIT並顯示出來, 但一直無法成功顯示WAIT, 而是顯示ECHO 已關閉。 請教以下寫法有何錯誤? 謝謝 已找到解決方法: @ECHO OFF下一行要加上 setlocal enabledelayedexpansion ECHO %a% 改為 ECHO !a! 原本失敗的執行結果: (base) PS C:\temp> ./new1.bat 1 ========= Check Arguments: "1" input=1 ECHO 已關閉。 原程式: @ECHO OFF ECHO ========= Check Arguments: "%*" SET input=%1 ECHO input=%input% IF "%input%" == "1" ( SET a=WAIT ECHO %a% ) ELSE ( IF "%input%" == "2" ( ECHO 3 ) ELSE ECHO 4 ) EXIT /B 0 修改後: @ECHO OFF setlocal enabledelayedexpansion ECHO ========= Check Arguments: "%*" SET input=%1 ECHO input=%input% IF "%input%" == "1" ( SET a=WAIT ECHO !a! ) ELSE ( IF "%input%" == "2" ( ECHO 3 ) ELSE ECHO 4 ) EXIT /B 0 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.221.145.1 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Programming/M.1597048794.A.982.html ※ 編輯: touvictor (61.221.145.1 臺灣), 08/10/2020 16:53:00 ※ 編輯: touvictor (61.221.145.1 臺灣), 08/10/2020 17:40:33 ※ 編輯: touvictor (61.221.145.1 臺灣), 08/10/2020 17:43:18