General type:
If the values of the two variables to be exchanged are numbers, the following two schemes can also be used:
Scheme one:
Scheme two:
@echo off
set var1=abc
set var2=123
echo Before exchange: var1=%var1% var2=%var2%
set var1=%var2%& set var2=%var1%
echo After exchange: var1=%var1% var2=%var2%
pause
If the values of the two variables to be exchanged are numbers, the following two schemes can also be used:
Scheme one:
@echo off
set /a num1=123,num2=456
echo Before exchange: num1=%num1% num2=%num2%
set /a num1=%num2%,num2=%num1%
:: set num1=%num2%& set num2=%num1% is also acceptable
echo After exchange: num1=%num1% num2=%num2%
pause
Scheme two:
@echo off
:: There will be a limit on the value range, that is, the sum of num_a and num_b must be within the range of 2^-31 to 2^31-1
set /a num_a=123,num_b=456
echo Before exchange: num_a=%num_a% num_b=%num_b%
set /a num_a=%num_a%+%num_b%-%num_a%,num_b=%num_a%+%num_b%-%num_b%
echo After exchange: num_a=%num_a% num_b=%num_b%
pause
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
考虑问题复杂化,解决问题简洁化。
