Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 在批处理中向变量添加一个数字_Batch File - Fatal编程技术网

Batch file 在批处理中向变量添加一个数字

Batch file 在批处理中向变量添加一个数字,batch-file,Batch File,我需要检查一长串变量,看看它们是否等于一个数字。我需要在不再次列出变量的情况下执行此操作。这是代码的一部分 set wp1=10 set wp2=123 set wp3=142 ect..... set change=+16 set "wp=wp%num%" set num=0 :check set /a num=%num%+1 if %wp% LEQ 48 set change=-8 if %wpn% EQU 904 ( goto change ) Else ( goto check )

我需要检查一长串变量,看看它们是否等于一个数字。我需要在不再次列出变量的情况下执行此操作。这是代码的一部分

set wp1=10
set wp2=123
set wp3=142
ect.....
set change=+16
set "wp=wp%num%"
set num=0
:check
set /a num=%num%+1
if %wp% LEQ 48 set change=-8 
if %wpn% EQU 904 (
goto change
) Else (
goto check
)

问题是%wp%等于wp1,2,3,但没有wp1,2,3,….的真实表示,。。。。我需要找出如何使%wp%等于%wp1,2,3,…%的值。

使用延迟扩展。setlocal enabledelayedexpansion然后设置wp=!可湿性粉剂%num%!。此外,将插入代码缩进goto命令。并非Windows批处理脚本中的所有内容都必须左对齐。缩进使代码块嵌套和闭包变得更容易。我需要在不再次列出变量的情况下执行此操作,当我的意思是再次列出变量时,我不想为了查找信息而重写变量。因为变量不断变化,并且它们占用的空间太大,所以列出它们将不起作用。@user3325754-仍然像泥一样清晰。您的标题说明了一件事,问题的文本说明了另一件事,您的代码不完整,因此无法解释您的意图。我不知道你想达到什么目的。。是我需要检查的,看看变量加号或减号是否小于或等于我选择的数字。代码中的ex是48。如果是这样,我需要改变一个数量的数字。例如-8。为了检查这一点,请列出所有变量。我正试图让代码一个接一个地检查它们。set/a num=%num%+1是通过wp1、wp2的计数器。。问题是这不起作用。设置wp=wp%num%这告诉它将wp+数字相加。结果是wp1,wp2。。但是wp1是一个新变量,不等于它的数目。