如何使用" if"条件适当地批量生产

时间:2014-04-15 10:12:27

标签: batch-file if-statement goto

抱歉我的英语表达不好......我不是本地人。 我已经搜索了一段时间的答案...也许我做得不对,但似乎我的(简单)代码无法正常工作。 一旦我打开批处理程序,它关闭,没有我有时间阅读错误消息:( 有人可以纠正这个吗? 我很感激任何帮助!

    @echo off
    color 0a
    mode 1000
    title THE OFFSWITCH
    :start
    cls
    if %time%== "12:00:00.00" goto :time
    echo.
    echo                                         IT IS NOT TIME YET : %time%
    goto start
    :time
    echo hello 
    pause>nul

1 个答案:

答案 0 :(得分:0)

如果你的代码有效,这是纯粹的运气。在大多数情况下,它会错过时间,因为循环速度不够快,无法获得正确的厘秒。

而不是

if %time%== "12:00:00.00" goto :time

你应该使用

if "%time%" geq "12:00:00.00" goto :time

(如果时间“大于或等于”......)

另外你应该考虑在循环中加一个延迟,因为它占用了所有的CPU时间,它可以获得,从而减慢你的系统速度。例如timeout /t 1>nul等待一秒钟。