【问题标题】:how to do a while loop on batch如何在批处理中执行while循环
【发布时间】:2016-07-08 01:59:37
【问题描述】:

早上好, 下面是我正在批量执行的代码。要求之一是代码中有一个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

【问题讨论】:

标签: windows batch-file cmd


【解决方案1】:

首先,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

注意set之后的/a

【讨论】:

    猜你喜欢
    • 2015-01-17
    • 2017-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-30
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    相关资源
    最近更新 更多