繁体   English   中英

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

[英]How to add variables in a 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语句...这可能吗?

要继续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. 使用set语句避免空格
  2. 如果要计算,请使用set / a
    设置/ a数字= %% H + var

  3. 避免块中(以及FOR块中)的百分比扩展
    请使用延迟扩展(将setlocal EnableDelayedExpansion添加到您的文件中)
    echo !number!A

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

有,但是更改了FOR语句。

您实际上实际上忘记了setlocal命令。

setlocal EnableDelayedExpansion

需要此命令以添加变量。

还是不明白吗?

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

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

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

你有它! 增加了变量!

批量使用数字

set /a

看到set /? 对于所有信息。

最好的方法是:

set /a counter+=1

所以:

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

您可以复制上面的代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM