zoukankan      html  css  js  c++  java
  • bat批处理延迟运行脚本

    @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:PathaA.exe,等其执行完毕了再运行C:PathbB.exe,至少延迟10秒后再运行C:PathcC.exe,实现方法如下:
    打开“记事本”,输入以下代码:
    Start/w C:PathaA.exe
    Start C:PathaB.exe
    Ping 127.0.0.1 –n 10 >nul
    Start C:PathaC.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

  • 相关阅读:
    51nod 1179 最大的最大公约数 (数论)
    POJ 3685 二分套二分
    POJ 3045 贪心
    LIC
    HDU 1029 Ignatius and the Princess IV
    HDU 1024 Max Sum Plus Plus
    HDU 2389 Rain on your Parade
    HDU 2819 Swap
    HDU 1281 棋盘游戏
    HDU 1083 Courses
  • 原文地址:https://www.cnblogs.com/hdk1993/p/6664722.html
Copyright © 2011-2022 走看看