标题: [日期时间] BAT代码怎样定时打开或关闭指定程序? [打印本页]
作者: 傲寒 时间: 2021-4-21 15:58 标题: BAT代码怎样定时打开或关闭指定程序?
实现:1.每5分钟打开一个程序(5个程序同名,只是文件夹不同)。
2.每12个小时自动关闭上方所有程序然后重新按照第1条方式打开。
以上内容全自动,不需要人看着。
作者: 傲寒 时间: 2021-4-21 16:27
- @Echo off
- for /l %%a in (0 0) do (
- ping -n 300 127.0.1
- start "" 你的软件.exe
- ping -n 600 127.0.1
- start "" 你的软件2.exe
- ping -n 900 127.0.1
- start "" 你的软件3.exe
- ping -n 1200 127.0.1
- start "" 你的软件4.exe
- ping -n 1500 127.0.1
- start "" 你的软件5.exe
- ping -n 43200 127.0.1
- taskkill /im 你的软件.exe /f
- ping -n 43200 127.0.1
- taskkill /im 你的软件2.exe /f
- ping -n 43200 127.0.1
- taskkill /im 你的软件3.exe /f
- ping -n 43200 127.0.1
- taskkill /im 你的软件4.exe /f
- ping -n 43200 127.0.1
- taskkill /im 你的软件5.exe /f
- )>nul 2>nul
复制代码
这样子可以吗?
作者: yhcfsr 时间: 2021-4-21 17:04
- @echo off
- set "progName=程序进程名.EXE"
- :main
-
- start "" "程序1路径"
- timeout /t 5 /NOBREAK
- start "" "程序2路径"
- timeout /t 5 /NOBREAK
- start "" "程序3路径"
- timeout /t 5 /NOBREAK
- start "" "程序4路径"
- timeout /t 5 /NOBREAK
- start "" "程序5路径"
-
- rem 等待12小时
- for /l %%a in (1,1,12) do timeout /t 3600 /NOBREAK
- for /f "delims= " %%a in ('tasklist^|findstr /ri "%progName%"') do taskkill /f /t /im "%%a"
-
- goto :main
复制代码
没时间测试,您自己测试修改吧
作者: 1152 时间: 2021-4-21 19:19
本帖最后由 1152 于 2021-4-22 20:46 编辑
https://pan.baidu.com/s/1HqgfAg7N6t2dGUbRxFnbZg
提取码:wsx3
因为ping不太准,所以使用Delay
程序内容:- @echo off
- :i
- start 程序1路径
- Delay 30000>nul
- start 程序2路径
- Delay 30000>nul
- start 程序3路径
- Delay 30000>nul
- start 程序4路径
- Delay 30000>nul
- start 程序5路径
- Delay 4320000>nul
- taskkill /im 程序1名字 /f
- taskkill /im 程序2名字 /f
- taskkill /im 程序3名字 /f
- taskkill /im 程序4名字 /f
- taskkill /im 程序5名字 /f
- goto :i
复制代码
Delay.bat内容- @echo off
- if %1==help echo.&echo 延迟&echo.&echo 语法:&echo Delay [ms]&echo ms=负数会无限循环&echo.&echo 示范:&echo Delay 1000&exit /b
- set a=0
- :i
- echo %a%ms/%1ms
- if %1==%a% exit /b
- if %1==%a% exit /b
- if %1==%a% exit /b
- set /a a=a+1
- goto :i
复制代码
要放在同一个目录
作者: 路过 时间: 2021-4-22 14:54
- @echo off
- set name=程序名
- set prg0=程序1路径
- set prg1=程序1路径
- set prg2=程序1路径
- set prg3=程序1路径
- set prg4=程序1路径
- if "%1"=="t2" (goto :t2) else (start /b %~s0 t2)
- setlocal enabledelayedexpansion
- set/a cnt=0
- :t1 每5分钟打开一个程序
- ping/n 300 127.0>nul
- set/a q=cnt %% 5
- start !prg%q%!
- goto :t1
-
- :t2 每12个小时关闭上方所有程序
- ping/n 43200 127.0>nul
- taskkill /f /im %name%
- goto :t2
复制代码
作者: Batcher 时间: 2021-4-25 23:07
回复 1# 傲寒
那些在BAT脚本里面使用命令延时的方法太浪费系统资源。建议使用任务计划。
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |