感謝Aacini,我現在有一種方法可以將變量從最大到最小排序。批處理:檢查是否有任何變量是相等的
鏈接: Comparing and ordering multiple numbers in batch
但是,如果2個或更多我的變量的值是相同的,他們不會進行排序。我試着測試一下這個集合中的兩個變量是否相等。我試着用if語句對每個變量進行任意組合,但我認爲這並不是非常有效,而且很難改變。
有沒有辦法實現這個目標?
@echo off
setlocal EnableDelayedExpansion
set speed1=190
set speed2=78
set speed3=78
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!
)
輸出將只顯示:
speed1 = 190
speed3 = 78
speed4 = 23
你是什麼意思,「如果他們任何人都等於另一個」?如果集合中的兩個變量相等?或者,如果集合中的任何變量等於外部變量? – Aacini
如果集合中的兩個變量相等。對不起,可怕的解釋,我會嘗試編輯我的帖子來解決這個問題。 –