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

  • 相关阅读:
    Linux ls -l内容详解
    simple_strtoul
    proc_create的使用方法
    Ubuntu Linux 安装 .7z 解压和压缩文件
    3518调试2
    MTK camera 闪光灯Flashlight驱动调试流程
    samba访问其他服务器文件权限设置
    excel中单列相乘取整
    git fetch
    中文123456789
  • 原文地址:https://www.cnblogs.com/hdk1993/p/6664722.html
Copyright © 2011-2022 走看看