Batch file 如何在批处理中正确使用“如果”条件
对不起,我的英语表达不好。。。我不是本地人。 我寻找答案已经有一段时间了。。。也许我做得不对,但似乎我的简单代码不起作用是有原因的。 一旦我打开批处理程序,它就会关闭,而我没有时间阅读错误消息: 有人能纠正一下这个吗?? 我很感激任何帮助Batch file 如何在批处理中正确使用“如果”条件,batch-file,if-statement,goto,Batch File,If Statement,Goto,对不起,我的英语表达不好。。。我不是本地人。 我寻找答案已经有一段时间了。。。也许我做得不对,但似乎我的简单代码不起作用是有原因的。 一旦我打开批处理程序,它就会关闭,而我没有时间阅读错误消息: 有人能纠正一下这个吗?? 我很感激任何帮助 @echo off color 0a mode 1000 title THE OFFSWITCH :start cls if %time%== "12:00:00.00" goto :time e
@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
如果你的代码运行正常,那纯粹是运气。在大多数情况下,它只会错过时间,因为循环速度不够快,无法获得正确的厘米秒 而不是
if %time%== "12:00:00.00" goto :time
你应该使用
if "%time%" geq "12:00:00.00" goto :time
如果时间大于或等于
也应该考虑将延迟推迟到循环中,因为它占用了所有CPU时间,它可以得到,从而减慢系统的速度。例如,timeout/t1>nul等待一秒钟。
首先需要在引号中加上%time%,以便进行适当的比较。。第二,如果您想在if cnedition之后添加新行,则需要括号。我正在用手机写信,现在无法给你更准确的答复。谢谢你这么快就给我答复。。。我试试看谢谢!不应该去:时间就是你的时间感谢你的帮助,它起了作用!!我将与您分享结果:@echo off color 0a mode 1000 title OFFSWITCH:start cls set time=%time%if%time%==12:25:00.00 goto time echo还没到时间:%time%goto start:time echo hello pause>nul