mag*_*167 5 cmd batch-file batch-processing
我想让批处理文件等待0.5或0.25秒.
我已经尝试timeout /t 0.5但是它没有用.
它是这样的:
@echo off
color a
cls
:top
echo %random%
timeout /t 0.5
echo %random%
goto top
试试这个:ping 127.0.0.1 -n 1 -w 500> nul500是以毫秒为单位的时间。
编辑:
正如rojo在评论中发布的那样,它在250毫秒内无法正常工作:
ping以这种方式暂停至少500毫秒。使用任何小于500的值仍会导致半秒的暂停
TIMEOUT 仅以整秒为单位工作。
您还可以下载其他第三方“睡眠”可执行文件。
或者,您可以使用SleepVBScript中的方法。它接受以毫秒为单位的值。这是一个简单的示例(将其保存为SLEEP.VBS您想要的名称或其他名称):
ms = WScript.Arguments(0)
WScript.Sleep ms
Run Code Online (Sandbox Code Playgroud)
然后,在批处理文件中像这样调用它0.5秒的延迟:
CSCRIPT SLEEP.VBS 500
Run Code Online (Sandbox Code Playgroud)
请参阅此问题以获取一些有价值的信息。总而言之,使用ping暂停时间限制为 500 毫秒或更长。您将无法暂停 250 毫秒。最好的解决方案是使用 Windows Scripting Host——VB Script 或 JScript。
您可以使用批处理/JScript 混合来执行此操作,以避免调用外部 VBS 脚本。使用 .bat 扩展名保存此示例并尝试。
@if (@CodeSection == @Batch) @then
@echo off
setlocal
for /L %%I in (10,-1,1) do (
set /P "=%%I... "<NUL
call :pause 250
)
echo Done.
goto :EOF
:pause <ms>
cscript /nologo /e:JScript "%~f0" "%~1"
goto :EOF
@end // end batch / begin JScript hybrid code
WSH.Sleep(WSH.Arguments(0));
Run Code Online (Sandbox Code Playgroud)