Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops 基本指令数循环_Loops_Cmd_Numbers - Fatal编程技术网

Loops 基本指令数循环

Loops 基本指令数循环,loops,cmd,numbers,Loops,Cmd,Numbers,我创建了一个简单的程序来打印数字1到10,并将其存储在文本文件中: @echo off SET /A X=1 :START IF %X% LEQ 10 ( ECHO %X%>>C:\TXT.TXT SET /A X+=1 GOTO START ) PAUSE 我得到的输出是: ECHO OFF 10 我哪里出错了?您可以为此使用for循环(而不是if语句):

我创建了一个简单的程序来打印数字1到10,并将其存储在文本文件中:

@echo off
SET /A X=1

:START
IF %X% LEQ 10 (
               ECHO %X%>>C:\TXT.TXT
               SET /A X+=1
               GOTO START
              )

PAUSE
我得到的输出是:

ECHO OFF
10

我哪里出错了?

您可以为此使用for循环(而不是if语句):

(这在命令行中从1循环到10)

另见:

编辑(当我试图将代码放在注释->中时,如果您将代码更改为控制台中的输出,您将看到您的代码确实有效,但在您的情况下,txt只包含您最后一次回显的时间):


谢谢你的修改和更好的脚本更新。但是如果我必须使用我上面提交的脚本,有什么错误,为什么它不能按预期的方式工作?好的,我想我得到了,如果我键入SETLOCAL ENABLEDELAYEDEXPANSION,那么我就得到了我想要的输出。是因为我需要让脚本在执行程序之前读取整个块吗?我尝试使用“IF”命令的原因是我刚刚开始批处理编程,我想在进一步使用诸如“FOR”之类的命令之前了解更多关于“IF”命令的信息。您随答案添加的链接非常有用,谢谢:)循环函数通常应用于此逻辑。但是,您的IF语句确实有效。然而,在txt.txt中只看到10的原因是因为这是您最后一次写入文件。尝试将其输出到控制台:@echo off SET/A X=1:如果%X%LEQ 10(echo%X%SET/A X+=1转到启动)暂停,则启动
FOR /L %i IN (1,1,10) do echo %i
@echo off
SET /A X=1

:START
IF %X% LEQ 10 (
               ECHO %X%
               SET /A X+=1
               GOTO START
              )
pause