0
訂貨多個號碼我有4個變量:比較和在批量
速度1 = 190
速度2 = 78
SPEED3 = 98
速度4 = 23
是否有任何如何排序變量,以便我可以從最大到最小的方式顯示它們?
例如,我想在上面顯示:
速度1 = 190
SPEED3 = 98
速度2 = 78
速度4 = 23種
訂貨多個號碼我有4個變量:比較和在批量
速度1 = 190
速度2 = 78
SPEED3 = 98
速度4 = 23
是否有任何如何排序變量,以便我可以從最大到最小的方式顯示它們?
例如,我想在上面顯示:
速度1 = 190
SPEED3 = 98
速度2 = 78
速度4 = 23種
有幾種方法解決這個問題。您可以使用任何排序方法來獲取數組元素的升序。但是,在批處理文件編程的特殊情況下,您可以使用一個簡單的技巧,充分利用環境變量總是以排序順序保存的事實。當定義一個新變量時,SET命令將它放在正確的位置,因此所有變量都按字母順序排列。
要使用此技巧,只需在新陣列的名稱中插入所需的索引。在年底,在自然秩序過程中的數組元素由SET命令所示:
@echo off
setlocal EnableDelayedExpansion
set speed1=190
set speed2=78
set speed3=98
set speed4=23
rem Get the descending order of previous elements via "order" array
for /L %%i in (1,1,4) do (
set /A num=1000-speed%%i
set order!num!=%%i
)
rem Show the elements of "speed" array in descending order
for /F "tokens=2 delims==" %%i in ('set order') do (
echo speed%%i = !speed%%i!
)
我建議你閱讀:Arrays, linked lists and other data structures in cmd.exe (batch) script