贊助廠商

娛樂城推薦

首頁

刊登資訊

  • 刊登者:匿名
  • 時間:2021-06-02 19:20:06

尚未解答Programming- [batch

Programming- [batch

請教各位高手, 小弟要在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

--

0個答案 Programming- [batch

其他問題

友站連結