欢迎光临白事网
详情描述

方法1:使用ping命令实现简单延迟

@echo off
:loop
start "" "C:\path\to\your\program.exe"
:: 等待60秒(60000毫秒)
ping 127.0.0.1 -n 2 > nul
:: 或者使用 timeout(需要Windows Vista及以上)
:: timeout /t 60 /nobreak > nul
goto loop

方法2:使用choice命令(更精确的延迟)

@echo off
:loop
start "" "C:\path\to\your\program.exe"
:: 等待用户按任意键继续(可设置时间)
choice /c X /t 60 /d X > nul
goto loop

方法3:使用VBScript实现精确延迟(推荐)

创建一个批处理文件 run_periodically.bat

@echo off
set INTERVAL=60  :: 间隔时间(秒)
set PROGRAM="C:\path\to\your\program.exe"

:loop
echo [%date% %time%] 启动程序...
start "" %PROGRAM%

echo 等待 %INTERVAL% 秒...
:: 调用VBScript实现精确等待
echo WScript.Sleep %INTERVAL%000 > sleep.vbs
cscript //nologo sleep.vbs
del sleep.vbs

goto loop

方法4:使用SCHTASKS创建计划任务(更可靠)

@echo off
:: 创建计划任务(每5分钟运行一次)
schtasks /create /tn "MyPeriodicTask" /tr "C:\path\to\program.exe" /sc minute /mo 5 /ru SYSTEM

:: 要删除任务,使用:
:: schtasks /delete /tn "MyPeriodicTask" /f

方法5:完整的带日志记录的批处理

@echo off
title 定时运行程序
setlocal enabledelayedexpansion

:: 配置参数
set PROGRAM="C:\path\to\your\program.exe"
set INTERVAL=300  :: 间隔时间(秒)
set LOGFILE="C:\path\to\log.txt"

echo 开始定时运行程序 [%date% %time%]
echo 程序路径: %PROGRAM%
echo 间隔时间: %INTERVAL% 秒
echo.

:loop
echo [%date% %time%] 启动程序... >> %LOGFILE%
echo [%date% %time%] 启动程序...

:: 运行程序(后台运行)
start "" %PROGRAM%

:: 显示倒计时
for /l %%i in (%INTERVAL%, -1, 1) do (
    set /a minutes=%%i/60
    set /a seconds=%%i%%60
    cls
    echo 程序已启动,下次运行将在 !minutes!分!seconds!秒后...
    timeout /t 1 /nobreak > nul
)

goto loop

方法6:使用PowerShell的Sleep命令

@echo off
:loop
start "" "C:\path\to\your\program.exe"

:: 使用PowerShell等待(支持小数秒)
powershell -command "Start-Sleep -Seconds 60"

goto loop

实际应用示例:每30分钟检查一次

@echo off
:: 每30分钟运行一次程序的批处理
set INTERVAL=1800  :: 1800秒 = 30分钟
set PROGRAM="notepad.exe"

echo 定时运行程序开始于: %date% %time%
echo 按Ctrl+C停止

:mainloop
echo [%date% %time%] 执行程序...
start "" %PROGRAM%

:: 计算下次运行时间
set /a minutes=INTERVAL/60
echo 下次运行将在 %minutes% 分钟后...

:: 使用choice等待(更兼容)
choice /c X /t %INTERVAL% /d X > nul

goto mainloop

注意事项:

权限问题:确保有足够的权限运行目标程序 程序路径:如果路径包含空格,一定要用引号括起来 停止方式:按 Ctrl+C 可以停止批处理 资源占用:长时间运行的批处理可能会占用少量系统资源 日志记录:建议添加日志功能以便调试

推荐方案:

  • 对于简单需求:使用方法3(VBScript延迟)
  • 对于精确定时:使用方法4(计划任务)
  • 对于需要监控:使用方法5(带日志的版本)

选择哪种方法取决于你的具体需求和系统环境。

相关帖子
除了光学矫正,未来的眼镜是否可能集成更多健康监测与交互功能?
除了光学矫正,未来的眼镜是否可能集成更多健康监测与交互功能?
比较消费券与现金补贴,哪种方式更能有效刺激社会总体消费需求?
比较消费券与现金补贴,哪种方式更能有效刺激社会总体消费需求?
如何清晰理解劳务派遣合同中关于工作岗位、地点与期限的关键条款?
如何清晰理解劳务派遣合同中关于工作岗位、地点与期限的关键条款?
在网络时代,个人如何理解并行使法律中提及的“被遗忘权”?
在网络时代,个人如何理解并行使法律中提及的“被遗忘权”?
对于还款期已过半的房贷,此时再进行提前还款是否仍然具有实际意义?
对于还款期已过半的房贷,此时再进行提前还款是否仍然具有实际意义?
对于考虑未来继续深造(读研)的考生,本科专业选择有何特殊策略?
对于考虑未来继续深造(读研)的考生,本科专业选择有何特殊策略?
按揭房二抵无需还清尾款,房产增值部分可二次抵押
按揭房二抵无需还清尾款,房产增值部分可二次抵押
鄂州市安卓app开发#网站开发建设,定制建站
鄂州市安卓app开发#网站开发建设,定制建站
司机端账单里那个抽成比例究竟是怎么计算出来的,公式到底长什么样?
司机端账单里那个抽成比例究竟是怎么计算出来的,公式到底长什么样?
哈尔滨市erp系统开发&商城网站建设,提供一站式建站服务
哈尔滨市erp系统开发&商城网站建设,提供一站式建站服务
在非全日制或灵活用工形式下,年假天数是否也参照社会工龄来计算?
在非全日制或灵活用工形式下,年假天数是否也参照社会工龄来计算?
在车道较少的路段,如果无法“让道”,减速时如何有效警示后方车辆?
在车道较少的路段,如果无法“让道”,减速时如何有效警示后方车辆?
佛山市手机网站建设#网站建设推广,定制开发
佛山市手机网站建设#网站建设推广,定制开发
2026年工伤认定标准有哪些新变化,劳动者该如何准确把握与应对?
2026年工伤认定标准有哪些新变化,劳动者该如何准确把握与应对?
邵阳市殡葬服务车出租-白事一条龙,白事录像
邵阳市殡葬服务车出租-白事一条龙,白事录像
如果申请人身安全保护令被法院驳回,还有哪些其他的救济途径?
如果申请人身安全保护令被法院驳回,还有哪些其他的救济途径?
公共场所大规模部署人脸识别,如何平衡便利性与个人隐私保护的需求?
公共场所大规模部署人脸识别,如何平衡便利性与个人隐私保护的需求?
郴州市精准获客引流&独立网站建设,定制建站
郴州市精准获客引流&独立网站建设,定制建站
宁波市办理丧葬服务|追悼会丧礼,个性化服务
宁波市办理丧葬服务|追悼会丧礼,个性化服务