所以我在寫一個有趣的批處理文件,我有一個多項選擇語句,所以我有這樣的:批if語句多個輸入
@echo off
title John's apples
echo.
echo John got 3 apples, he gives 1 away. How many does he have then?
echo (Please answer with ONE capital letter, or type Exit to exit.)
echo =============
echo.
echo A) 2.5
echo B) 3.459475945
echo C) 2
echo D) 1
echo Exit
echo.
:answer
set /p ans=Your Answer:
if "%
if "%ans%"=="a" Echo Please answer with a capital letter!&set /p ans=Your Answer:
if "%ans%"=="b" Echo Please answer with a capital letter!&set /p ans=Your Answer:
if "%ans%"=="c" Echo Please answer with a capital letter!&set /p ans=Your Answer:
if "%ans%"=="d" Echo Please answer with a capital letter!&set /p ans=Your Answer:
if "%ans%"=="A" Echo Wrong! The answer was 2.
if "%ans%"=="B" Echo Wrong! The answer was 2.
if "%ans%"=="C" Echo Right! Good job! The answer was 2.
if "%ans%"=="D" Echo Wrong! The answer was 2.
if "%ans%"=="Exit" exit
Pause
Exit
所以現在我想知道,如果有人放錯了答案(因爲你必須寫一個大寫字母,否則它將不起作用),它什麼也沒說。所以我想知道我是怎麼做的: 如果A,B,C,D不是輸入,打印「請輸入一個有效的答案!」
任何人都可以幫忙嗎?這可能已經被問到了,對此抱歉......腳本中可能會有一些隨機的東西,因爲我正在測試一些東西。
你可以在一個循環的每個問題。所以雖然答案不正確,但再次詢問 – miqdadamirali
@miqdadamirali是的,但我想讓他們證明這是一個無效的答案,你知道它並不是真的必要的,因爲大多數人並不那麼愚蠢,但我想提高我對編碼的認識XD –
你可以做的是,當輸入答案時,驗證它。如果無效,請輸入錯誤消息(再次詢問是否需要),然後繼續結束/下一個問題 – miqdadamirali