我試圖設置一個批處理菜單,允許一次多選,然後運行所有功能。這些函數的順序是不相關的,因爲這些函數將在外部錯誤下運行。這是我迄今爲止的代碼。批量循環菜單(多選)
@Echo off
Echo Please Enter the corrasponding numbers separated by a space or colon (,)
Echo for the Options that you would like to run e.g. 1 4,3 2
Echo Option #1
Echo Option #2
Echo Option #3
Echo Option #4
Echo.
SET /P Selection=Please Select Restore Options?
echo You chose: %Selection%
setlocal ENABLEDELAYEDEXPANSION
Set /a index = 0
FOR %%A IN (%Selection%) DO (
SET Array[!index!] = %%A
SET /a index += 1
)
for /F "tokens=2 delims==" %%s in ('set Array[') DO (
set string=%%s
set string=%string: =%
echo %string%
Call :Opt%string%
)
pause
goto :EOF
:Opt1
ECHO Option 1's code
GOTO :EOF
:Opt2
ECHO Option 2's code
GOTO :EOF
:Opt3
ECHO Option 3's code
GOTO :EOF
:Opt4
ECHO Option 4's code
GOTO :EOF
代碼我已經工作到試圖調用數組veriable並將其附加到一個呼叫例如Call :Opt%%s
我有的probelm是數組變量不斷出現一個空間繼續選定的變量。所以我試圖與設置string=%string:=%
對抗,但我不斷收到錯誤。
錯誤:
任一回聲關閉並且只有選擇獲取調用與出所選擇的變量。
幫助這將是驚人的,在此先感謝。
感謝dbenham,最後的和平代碼實際上使這個腳本變得簡單很多。 – Tea