如何在批处理上执行while循环

时间:2016-03-21 14:01:39

标签: windows batch-file cmd

早上好, 下面是我正在批量处理的代码。其中一个要求是在代码中使用while循环。但是,这个过程没有在课堂上向我们解释。我还包括了为该计划提供的说明。不知道如何为这一个编写逻辑。希望你们能提供帮助。感谢您的时间。 在命令提示符下使用Windows Batch。   - 使用if和while()命令

实现除以0,错误捕获

如何:
  - 将您的姓名,当前日期和时间附加到名为results.txt的新文件中   - 使用while循环。
  - 如果用户为第一个或第二个数字输入值55,则必须      终止这个除以0的实现。
  - 要求用户输入第一个数字并检查其值   - 要求用户输入第二个号码   - 如果第二个号码为零,则通知用户并要求输入正确的第二个号码 - 如果第二个数字不是零,则进行除法,使用标签显示此计算中的所有数字,并将它们添加到results.txt文件中。

@ echo off
setlocal enabledelayedexpansion
echo results.txt
echo Roberto Martinez >> results.txt
set dt=%date:~7,2%-%date:~4,2%-%date:~10,4%_%time:~0,2%_%time:~3,2%_%time:~6,2%
echo %dt% >> results.txt
goto :main

:main
setlocal
set /p choice1="Enter your first number"
set /p choice2="Enter your second number"

if !choice1! == 55 goto :eof
if !choice2! == 0 goto :eof
:loop

goto :loop

echo.
echoo ^^

endlocal

1 个答案:

答案 0 :(得分:3)

首先,StackOverflow的政策是不为您做好功课,所以我只会概括您所需的内容。

您的批次中已有goto和标签。实现while循环时,您可以使用以下这些:

@echo off
:loop
set /p "test=something other than 0 "
if "%test%"=="0" goto :loop

这可以与while (input == 0)循环进行比较,因为批处理没有实际的while命令。

另外,要划分某些东西,你可以使用这样的东西:

@echo off
set five=5
set /a result=10/%five%
echo %result%
pause

请注意/a

之后的set