使用Windows任务计划程序实现每5分钟检查并以当前登录用户身份启动指定EXE
Windows任务计划程序实现每5分钟检查并以当前登录用户身份启动指定EXE
嘿,我来一步步教你搞定这个需求,亲测好用!咱们分两步走:先写个脚本用来检查进程状态,再用任务计划程序定时执行这个脚本。
第一步:编写检查并启动EXE的脚本
推荐用PowerShell脚本,灵活性更高,代码也简洁。你可以按下面的模板修改:
# 替换成你的应用进程名(注意:不带.exe后缀,比如你的EXE是MyApp.exe,这里填MyApp) $targetProcess = "YourAppProcessName" # 替换成你的EXE完整路径,比如C:\Program Files\MyApp\MyApp.exe $exeFullPath = "C:\Full\Path\To\Your\Application.exe" # 检查进程是否在运行 $isRunning = Get-Process -Name $targetProcess -ErrorAction SilentlyContinue # 如果进程没运行,就启动它 if (-not $isRunning) { Start-Process -FilePath $exeFullPath }
把上面的内容保存成.ps1文件,比如CheckAndStartApp.ps1,放在一个你不会轻易删掉的路径下,比如C:\Scripts\CheckAndStartApp.ps1。
第二步:配置Windows任务计划程序
接下来咱们设置任务计划程序,让它每5分钟跑一次这个脚本:
- 打开任务计划程序:按下Win+R,输入
taskschd.msc,回车就能打开。 - 创建自定义任务:在右侧面板点击「创建任务」(别选「创建基本任务」,自定义任务的选项更全)。
- 常规选项卡:
- 给任务起个好记的名字,比如「监控并启动我的应用」
- 勾选「只在用户登录时运行」(这能保证用当前登录用户的身份启动EXE,和手动点击效果一致)
- 如果你的应用需要管理员权限,可以勾选「使用最高权限运行」,不需要的话就不用勾
- 触发器选项卡:
- 点击「新建」,触发器类型选「按预定计划」
- 设置「每天」执行,然后在「重复任务间隔」里选「5分钟」,「持续时间」选「无限期」
- 确认触发器设置,点击「确定」
- 操作选项卡:
- 点击「新建」,操作类型选「启动程序」
- 「程序或脚本」里填
powershell.exe - 「添加参数(可选)」里填:
-ExecutionPolicy Bypass -File "C:\Scripts\CheckAndStartApp.ps1"(记得替换成你实际的脚本路径)
- 条件选项卡:
- 取消勾选「唤醒计算机运行此任务」(避免不必要的唤醒),其他选项按需调整
- 设置选项卡:
- 勾选「如果任务失败,每隔5分钟重试」,重试次数可以设个3-5次,防止临时故障导致启动失败
- 「如果任务已经运行,则以下列规则处理」选「不要启动新实例」,避免重复开多个应用
- 最后点击「确定」,如果系统提示输入密码,输入当前登录用户的密码即可。
这样设置完成后,任务计划程序就会每5分钟检查一次你的应用是否在运行,一旦发现没运行,就会用当前登录用户的身份启动它啦!
备注:内容来源于stack exchange,提问作者Hisanth
相关产品推荐
相关产品推荐

