Windows start.bat 开机自启 4 种方案(从简单到推荐)
注意:bat 开机运行默认黑框一闪而过是正常;如果需要后台隐藏运行,文末给隐藏方案。
方案 1:启动文件夹(最简单,适合当前用户)
- 快捷键
Win + R,输入:
shell:startup
回车,直接打开【当前用户启动文件夹】
路径:
C:\Users\你的用户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
- 不要直接把 start.bat 丢进去! 新建快捷方式 → 指向你的
start.bat,把这个快捷方式放到 Startup 文件夹。 ✅ 仅当前登录这个用户才会自动运行。
所有用户都生效(任何人登录都启动):Win+R 输入
shell:common startup
方案 2:任务计划程序(最推荐,功能最强)
优点:可以设置延迟启动、管理员权限、登录时 / 开机触发、失败重试,不受启动文件夹限制。
- Win 搜索【任务计划程序】打开
- 右侧【创建基本任务】
- 名称:
启动我的start.bat - 触发器:选择【当我登录时】
- 操作:【启动程序】
- 程序或脚本:浏览选中你的
start.bat - 可选:勾选【打开属性对话框】→ 确定
- 常规:勾选【使用最高权限运行】(bat 需要管理员权限才勾)
- 触发器 → 编辑:勾选【延迟任务】,设置 30 秒~2 分钟(防止开机网络 / 服务没就绪,bat 执行失败)
方案 3:注册表(适合批量部署)
- Win+R 输入
regedit打开注册表 - 当前用户自启(只本用户)
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
右键 Run → 新建【字符串值】,名称随便写,数值数据填 bat 完整路径,例如:
D:\script\start.bat
所有用户:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run⚠ HKLM 需要管理员权限修改
方案 4:服务(不推荐给普通 bat)
普通批处理不适合做成 Windows 服务,bat 是控制台程序,容易闪退,不建议。
常见坑
- 路径带空格:路径必须加英文双引号
"D:\My Script\start.bat" -
bat 启动黑窗口一直弹出: 新建一个
vbs文件,用 vbs 调用 bat,实现隐藏黑框Set WshShell = CreateObject("WScript.Shell") WshShell.Run "D:\script\start.bat",0 Set WshShell = Nothing把 vbs 放到启动文件夹 / 任务计划,不要直接启动 bat。
参数
0= 隐藏窗口;1= 显示窗口 - 开机执行失败
- 加延迟(任务计划最稳)
- bat 脚本第一行写
cd /d %~dp0切换到 bat 所在目录,避免相对路径失效
测试方法
不用重启电脑: Win + L 锁屏再重新登录,就会触发【用户登录】类型的自启脚本。
免责声明
本文档所有内容仅供安全研究、学术交流与技术学习使用,严禁用于任何未经授权的逆向破解、网络攻击、隐私窃取、恶意软件开发及其他违反《中华人民共和国网络安全法》《数据安全法》等法律法规的行为,使用者应确保已获得目标软件权利人的合法授权并自行承担因使用本文档内容所产生的一切法律责任与后果,作者不对任何直接或间接损害承担任何责任,继续阅读即视为您已知悉并同意上述全部条款。
浙公网安备 33010602011771号