我有一个名为v23的变量。我试着验证它是否与6相等:
set x=2
set y=3
if %v%x%%y%%==6 echo ok
但它没有用,所以我这样做了:
echo %v%x%%y%%
它回应:
X%Y%
如何使用x和y重新创建v23变量? (一个数组不适用于我的整个算法)
答案 0 :(得分:0)
这是常见问题之一,如果不是最常被问到的问题。 使用delayed expansion
:: Q:\Test\2018\05\20\SO_50438603.cmd
@Echo off
SetLocal EnableDelayedExpansion
set x=2
set y=3
set v23=6
if !v%x%%y%!==6 echo v%x%%y% is !v%x%%y%!
示例输出:
> SO_50438603.cmd
v23 is 6
答案 1 :(得分:0)
你没有具体说明这项任务,所以我认为我会提供一个不需要延迟扩展的选项:
Set "x=2"
Set "y=3"
Set /A #=(x * y) - v23
If %#% Equ 0 Echo OK
Pause