如何向批处理脚本变量添加值?

How to add values to batch script variables?

我知道这听起来很蠢,但我是批处理脚本的初学者,所以我对此几乎一无所知。不管怎样,我想改变一个变量;加 1,这是我的代码:

@echo off
set num = 1
set num = %num% + 1
echo %num%
@echo on

首先,永远不要在 = 前后的标准 set 中使用 space。这将创建一个带有尾随 space 的变量和一个带有前导 space 的值。所以从技术上讲,你会有 %num % 1.

为了演示这一点,只需复制下面的所有内容并粘贴到 cmd 提示符中。

@echo off
set dummy = test
set dummy
echo %dummy%
echo %dummy %
@echo on

类似于:

@echo off
set num = 1
set num | findstr /v "NUMBER"
set /a num+=1
set num | findstr /v "NUMBER"
echo %num%
echo %num %
@echo on

将产生两个变量,%num % 的值为 1%num% 的值为 1

以上结果将在评论中澄清您的问题。

要解决你的算术问题,只需使用 /a 开关指定值是数字,我们可以在其上使用算术序列运算符等。

@echo off
set "num=1"
set /a num+=1
echo %num%