@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
@echo off
:loop
start "" "C:\path\to\your\program.exe"
:: 等待用户按任意键继续(可设置时间)
choice /c X /t 60 /d X > nul
goto loop
创建一个批处理文件 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
@echo off
:: 创建计划任务(每5分钟运行一次)
schtasks /create /tn "MyPeriodicTask" /tr "C:\path\to\program.exe" /sc minute /mo 5 /ru SYSTEM
:: 要删除任务,使用:
:: schtasks /delete /tn "MyPeriodicTask" /f
@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
@echo off
:loop
start "" "C:\path\to\your\program.exe"
:: 使用PowerShell等待(支持小数秒)
powershell -command "Start-Sleep -Seconds 60"
goto loop
@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 可以停止批处理
资源占用:长时间运行的批处理可能会占用少量系统资源
日志记录:建议添加日志功能以便调试
选择哪种方法取决于你的具体需求和系统环境。