You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Windows 10中实现打开特定应用时自动运行批处理文件?

如何在Windows 10中实现打开特定应用时自动运行批处理文件?

看起来你已经找对了核心思路!我来帮你把没完成的步骤补全,再分享一些实用细节,确保这个方案能稳定运行:

你已完成的配置回顾

  • 步骤1:开启进程审计日志
    你已经在本地安全策略里启用了「审核进程跟踪」的成功事件,这是整个触发机制的基础——每次有进程启动/停止时,系统都会在安全日志里生成对应记录。

  • 步骤2:创建事件触发的计划任务
    你设置的事件过滤XML很精准,能准确捕捉到notepad.exe启动的事件(对应事件ID 4688,进程名称匹配C:\Windows\System32\notepad.exe)。这里把你的过滤代码整理成更易读的格式:

    <QueryList>
      <Query Id="0" Path="Security">
        <Select Path="Security">
          *[System[Provider[@Name='Microsoft-Windows-Security-Auditing'] and Task =
          13312 and (band(Keywords,9007199254740992)) and (EventID=4688)]] and
          *[EventData[Data[@Name='ProcessName'] and
          (Data='C:\Windows\System32\notepad.exe')]]
        </Select>
      </Query>
    </QueryList>
    

补全剩余的计划任务配置

  • 步骤3:设置任务执行动作
    这部分你没写完,我来详细说明:

    1. 打开计划任务的「动作」标签页,点击「新建」
    2. 动作类型选择「启动程序」
    3. 在「程序或脚本」栏填入你的批处理文件完整路径,比如C:\tools\my_auto_script.bat
    4. 如果批处理需要接收参数,在「添加参数(可选)」栏填写;如果需要指定工作目录,在「起始于(可选)」栏设置对应文件夹路径
    5. 点击「确定」保存动作
  • 步骤4:配置任务安全选项(关键!)
    权限设置不对很可能导致任务执行失败:

    1. 切换到「常规」标签页
    2. 在「安全选项」区域,选择权限足够的账户:如果希望不管用户是否登录都能触发,选「不管用户是否登录都要运行」;如果只需要你登录时生效,选「只有在用户登录时运行」即可
    3. 务必勾选「使用最高权限运行」,避免因权限不足导致批处理无法执行
    4. 测试阶段先取消「隐藏」选项,方便排查问题,确认正常后再勾选隐藏

验证与排查技巧

  • 测试触发逻辑
    打开记事本后,去「事件查看器」→「Windows日志」→「安全」里,确认是否生成了ID为4688的事件,且进程名称和你指定的路径一致。再打开「任务计划程序」→「任务计划程序库」找到你的任务,查看「历史记录」标签,确认任务是否被触发、动作是否执行成功。

  • 常见问题排查

    • 任务没触发:检查事件过滤XML里的进程路径是否和实际一致(注意32位程序可能在C:\Windows\SysWOW64目录下,比如32位记事本路径是C:\Windows\SysWOW64\notepad.exe);同时确认安全日志里确实有对应的4688事件。
    • 任务触发但批处理没执行:检查批处理路径是否正确,账户权限是否足够,有没有勾选「使用最高权限运行」;可以在批处理里加一行echo %date% %time% >> C:\tools\script_log.txt,生成执行日志来确认是否运行。

备注:内容来源于stack exchange,提问作者moxfyne

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 11:05:26