我試圖創建一個批處理文件,詢問用戶有多個(四個)選項的問題。用戶選擇的選項應該觸發批處理文件忽略四個選項之一。假設我通常想要運行的命令是ECHO「A」,ECHO「B」,ECHO「C」,ECHO「D」。 如果此人將A放入,我希望他們仍然可以運行除ECHO「A」之外的所有其他命令。在提示選擇的批處理文件中,答案應該觸發腳本忽略一個選項
目前的解決方案,我想出瞭如下
@echo off
set /p choice="Do you want not to do: A, B, C or D? [A/B/C/D] " [A/B/C/D]
if %choice%==A (
ECHO "B"
ECHO "C"
ECHO "D"
EXIT /b
) else if %choice%==B (
ECHO "A"
ECHO "C"
ECHO "D"
EXIT /b
) else if %choice%==C (
ECHO "A"
ECHO "B"
ECHO "D"
EXIT /b
) else if %choice%==D (
ECHO "A"
ECHO "B"
ECHO "C"
EXIT /b
) ELSE (
ECHO Please select A, B, C or D!
EXIT /b
)
但是你可以想像,我使用的回聲命令作爲一個例子/抽象。實際的命令更長。在A,B,C和D下定義命令一次,然後根據用戶的選擇告訴批處理文件不要執行A,B,C或D似乎更有效。
也許是因爲我今天早些時候開始工作,但我現在想不到更簡單的方法來做到這一點。所以我希望聽到你的想法,以便如何減少這個批處理腳本的堵塞。
有點難以理解,比我的代碼,但非常好,緊湊!有一個問題,爲什麼使用$符號?我已經發現批處理已經足夠用代碼讀取了,比如'set AdrBase =%AdrBase:「=%'(替換掉沒有的符號),爲什麼要增加美元符號更難?) – user1261104 2014-11-06 16:24:18
這只是我的方式設置變量。 – SachaDee 2014-11-06 17:12:19
不錯,緊湊,正是我所期待的。我將盡力在我正在編寫的實際腳本中正確實施它。 – 2014-11-06 21:04:00