如何在批处理文件中添加变量

时间:2012-09-26 12:30:34

标签: variables batch-file

我正在尝试获取一个数字列表,如11111111和一封信。字母si用数字计算。类似的东西:

@echo off
set var=23
FOR /L %%H IN (40000000,1,49999999) DO (
set number = %%H+%var%
echo %number%A
)
pause
exit

我想得到(或多或少)

400000023A
400000024A
400000025A
...

但是没有改变FOR句子......这可能吗?

6 个答案:

答案 0 :(得分:3)

要继续使用jeb所说的内容,请求输出代码:

@echo off & setlocal EnableDelayedExpansion
set var=23
FOR /L %%H IN (40000000,1,49999999) DO (
  set /a number=%%H+!var!
  echo !number!A
)
endlocal
pause
exit

答案 1 :(得分:2)

  1. 避免使用set语句
  2. 的空格
  3. 如果要计算
    ,请使用set / a set / a number = %% H + var

  4. 避免块中的百分比扩展(以及FOR块中) 请改用延迟展开(在文件中添加setlocal EnableDelayedExpansion
    echo !number!A

答案 2 :(得分:1)

jeb提供了修复代码所需的提示,而Jeff K实际上已经实现了修复。

但是,由于您要为每个值添加常量,因此将常量添加到FOR / L开始值和结束值会更简单,更有效。

@echo off
setlocal
set var=23

set /a "start=40000000+var, end=49999999+var"
for /l %%H in (%start%, 1, %end%) do echo %%HA

答案 3 :(得分:1)

有,但改变了FOR句子。

你实际上忘了那里的setlocal命令。

setlocal EnableDelayedExpansion

需要此命令才能添加变量。

仍然没有得到它?

这是代码,以便您添加变量。

@echo off
setlocal EnableDelayedExpansion
cls
set var=17
echo %var%
pause
set /a var=%var%+7
echo %var%
pause

尝试在我的代码中找到任何错误和错误。然后测试一下。

你有它!添加变量!

答案 4 :(得分:0)

批量使用中使用数字

set /a

有关所有信息,请参阅set /?

答案 5 :(得分:0)

最好的方法是:

set /a counter+=1

这样:

@echo off
set /a counter=
:Top
set /a counter+=1
echo 4000000%counter%A
GOTO Top

您可以复制上面的代码。