我正在尝试获取一个数字列表,如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句子......这可能吗?
答案 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)
set
语句如果要计算
,请使用set / a
set / a number = %% H + var
避免块中的百分比扩展(以及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
您可以复制上面的代码。