如何向批处理脚本变量添加值?
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%
我知道这听起来很蠢,但我是批处理脚本的初学者,所以我对此几乎一无所知。不管怎样,我想改变一个变量;加 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%