bat 如何循环一段命令 goto或for都行

@echo off
:begin
set n=1
set /p n=请输入N的值!
for /l %%i in (1,1,%n%) do (
set /a sum+=%%i
)
echo %sum%
pause
如何使这段命令重新从1+2+3+…+n=sum开始算起?
用了goto begin 后计算结果会加上前一次算的结果。

让bat脚本循环执行有以下两种方法:

第一、可以直接加个%0,即执行本身,实现循环。

第二、用goto命令,去到要重复的开头,如果要限制次数,可以先set 一个值,循环一次减1,条件命令到0退出,实现循环。

扩展资料:

goto语句一般格式如下: 

goto 语句标号; 其中语句标号是按标识符规定书写的符号, 放在某一语句行的前面,标号后加冒号(:)。语句标号起标识语句的作用,与goto 语句配合使用。

如: label: i++;

loop: while(x<7);

goto loop;

goto语句的语义是改变程序流向, 转去执行语句标号所标识的语句。goto语句通常与条件语句配合使用。可用来实现条件转移, 构成循环,跳出循环体等功能。

参考资料来源:百度百科-goto语句

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-27
@echo off
:begin
set n=1
set /p n=请输入N的值!
for /l %%i in (1,1,%n%) do (
set /a sum+=%%i
)
echo %sum%
set /a sum =0
goto begin
pause
每次重置一下不就好了。。。本回答被提问者采纳
第2个回答  2016-01-08
循环一段命令可以用循环语句。
用Do循环重复执行一个语句块,且重复次数不定。Do…Loop是以计算数值为条件以决定是否继续执行。条件必须是一个数值或者值为True或False的表达式。
在下面的Do…Loop循环中,只要条件为真就执行循环。
Do While 循环条件
循环语句块
Loop
当Visual Basic执行到这个Do循环时首先测试条件,条件为假时,跳过所有语句。如果条件为真,Visual Basic就会执行语句,退回到Do While语句测试条件。只要条件为真,循环可以随意执行几次。如果条件一开始便为假,则不会执行语句。
还有一种Do…Loop语句,是先执行语句,每次执行之后测试条件,循环中的语句至少执行一次。
Do
循环语句块
Loop while 循环条件。
相似回答