您当前的位置:首页 > 计算机 > 编程开发 > DOS/BAT与(脚本)

bat批处理延迟运行脚本

时间:12-12来源:作者:点击数:
CDSY,CDSY.XYZ

@echo off

:aaa

pause 这里是你需要运行的程序

for /l %%i in (0,1,10000) do echo %%i>nul

goto aaa

当然bat延迟运行还有其他的一些方法 不过我这个算很简单了 你还可以使用两个for代替goto

for /l %%i in (0,1,10000) do echo %%i>nul 这里>nul忽略输出

如果程序是无法自动回到cmd界面的那可能需要结束她的进程什么的 自然利用bat调用其他程序也能做到例如ntsd debug 等等 或者是vbs 不过那就显不出bat的特性出来了

ping延时还是很精确的,呵呵。

@echo off

:aaa

echo %TIME%

ping 0.0.0.1 -n 1 -w 500>nul

goto aaa

I:\>delay

18:51:41.50

18:51:42.42

18:51:43.42

18:51:44.42

18:51:45.42

18:51:46.42

18:51:47.42

18:51:48.42

18:51:49.42

18:51:50.42

18:51:51.42

18:51:52.42

18:51:53.42

18:51:54.42

18:51:55.42

18:51:56.42

^C终止批处理操作吗(Y/N)? y

Windows的ping.exe代码中调用了Sleep(1000),自然是很准确的。

ping的IP最好用127.0.0.1,因为用其他地址,第一次DNS解析会耗费一些时间,就不准确了。

收东西要收藏。我帮楼的各位大侠整理一下:

@echo off

@echo %time%

@set /a netu0=%1+1

@ping 127.0.0.1 -n %netu0% -w 500>nul 2>nul

@echo %time%

@echo on

============================================

为了提高工作效率,或者为了实现某种目的,我们经常需要将一些程序加入到windows的“启动”组中,也就是让这些程序随系统启动而自动运行。有时,我们希望这些自启动程序能按一定的先后顺序运行,对于服务器而言,可能有其中一个程序要依赖另一程序才能运行,因而还需要在这二个程序启动时有一定的时间延迟。

我发现,可以巧妙利用DOS下的批处理命令,来轻松控制自启动程序的运行先后顺利,以及程序的延迟运行。举例说明,假如有三个自启动程序,要求在windows启动时先运行C:\Patha\A.exe,等其执行完毕了再运行C:\Pathb\B.exe,至少延迟10秒后再运行C:\Pathc\C.exe,实现方法如下:

打开“记事本”,输入以下代码:

Start/w C:\Patha\A.exe

Start C:\Patha\B.exe

Ping 127.0.0.1 –n 10 >nul

Start C:\Patha\C.exe

将此文件保存为一个bat文件,例如qidong.bat。双击运行这个批处理文件,就可即刻验证各程序的启动顺序和延迟运行情况。最后将此文件拖入windows的“启动”组就OK了。当然,三个自启动文件是靠批处理文件来调用的,所以就不必放入“启动”组了。

对于上述批处理命令,作一下简单的介绍:

Start命令用于启动指定程序,其格式是:“start/参数 程序的完整路径和文件名”,参数/w的作用是等待当前的程序执行完毕再执行下一个程序。注意:由于批处理是在DOS下运行,类似“C:\ \Program files”这样带空格的文件夹名称,应该换成“C:\Progra~1”,即取前6个字符再加上“~1”。

因为批处理中没有延时的命令,所以用ping一个本地IP地址来间接实现延时,ping一次大概花费1秒钟,虽然时间不是很精确,但可修改-n后面的数字进行调试,使时间尽量接近,>nul的作用相当于是让ping命令在后台运行。

==============================================

一。利用计划任务

例:

@echo off

mode con lines=25

title 定时关机

color 1f

cls

echo.

echo.

echo.

echo.

echo 时间使用24小时制(如2:15、12:00),可以输入多个时间点

echo.

echo 多个时间点用空格分隔

echo.

echo.

echo ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

echo.

set times=

set /p times= 请输入关机时间:

:: 以下语句实现每个星期的每一天指定时间关机

:: 如果要换成每个月的某几天,请改字母为数字,并用逗号分隔

:: 以下代码没有错误检测语句,输入时间的时候务必按照指定格式输入

:: 可以用在CMD窗口用at命令来查看计划任务

if not "%times%"=="" for %%i in (%times%) do (

at %%i /every:M,T,W,Th,F,S,Su shutdown -s

)

二。巧妙利用ping -n

例:

@ rem ---------- 设置延迟时间 ----------

@ set 延迟时间=15

@ ping 127.0.0.1 -n %延迟时间%

以下写你要启动的命令

三。利用for命令

例:

@echo off

echo 将于4月20日执行关机任务

:xunhuan

echo %date%>1.ini

for /f "tokens=2,3 delims=- " %%a in (1.ini) do set h=%%a & set m=%%b

del 1.ini

if %h%==04 goto fen

goto xunhuan

:fen

if %m%==05 goto nao

goto xunhuan

:nao

shutdown -s -t 60

exit

CDSY,CDSY.XYZ
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
上一篇:.bat后台运行 下一篇:很抱歉没有了
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐