Loops 基本指令数循环
我创建了一个简单的程序来打印数字1到10,并将其存储在文本文件中: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语句):
@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