Windows开机自动运行BAT脚本有五种方法:一、放入启动文件夹(shell:startup);二、任务计划程序设“计算机启动时”触发;三、注册表Run键添加绝对路径;四、组策略“计算机配置→启动脚本”;五、用VBScript静默调用并放启动文件夹。

如果您希望在Windows系统启动时自动执行某个批处理脚本,但该脚本未按预期运行,则可能是由于启动路径配置错误、权限不足或注册表项未正确写入。以下是实现此目标的多种操作方法:
一、将BAT文件放入启动文件夹
启动文件夹是Windows预设的用户级开机自启目录,系统登录时会自动执行其中的可执行文件或快捷方式,无需管理员权限且操作最直观。
1、按下 Win + R 打开“运行”对话框。
2、输入 shell:startup 并按回车,打开当前用户的启动文件夹。
3、将目标 .bat 文件本身或其快捷方式 复制粘贴至该文件夹内。
4、如需对所有用户生效,可改用路径 shell:common startup(需管理员权限访问)。
二、通过任务计划程序设置启动触发
任务计划程序支持系统级启动触发,可绕过用户登录状态限制,并允许启用最高权限运行,适用于需访问系统资源或服务的脚本。
1、按下 Win + R,输入 taskschd.msc 并回车,打开任务计划程序。
2、右侧点击“创建基本任务”,输入名称(如“启动MyScript”),点击“下一步”。
3、在“触发器”页面选择 当计算机启动时,点击“下一步”。
4、在“操作”页面选择 启动程序,点击“浏览”定位到.bat文件完整路径(含引号,如"C:\tools\run.bat")。
5、进入“完成”页前,勾选 当完成此向导时,打开属性对话框;在属性中切换至“常规”选项卡,勾选 不管用户是否登录都要运行 和 使用最高权限运行。
三、修改注册表Run键值
注册表Run项在系统启动初期由Winlogon进程读取并执行,分为当前用户与所有用户两个位置,可实现无界面快速加载,但需谨慎避免误操作导致启动异常。
1、按下 Win + R,输入 regedit 并回车,以管理员身份运行注册表编辑器。
在 Windows 上执行终端命令,或对比 Windows 与 Linux 的 Shell 语法时使用。建议先检测当前 Shell 是 PowerShell 还是 cmd.exe,再给出相应命令……
2、导航至以下任一路径:
当前用户: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
所有用户: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
3、在右侧空白处右键 → “新建” → “字符串值”,命名为任意合法名称(如“MyStartupScript”)。
4、双击该新键,将其“数值数据”设为BAT文件的 完整绝对路径并用英文双引号包裹(例如:"C:\auto\init.bat")。
四、使用组策略配置启动脚本
组策略适用于域环境或本地多用户管理场景,所配置的启动脚本在系统级启动阶段执行,不依赖用户会话,且默认以SYSTEM权限运行。
1、按下 Win + R,输入 gpedit.msc 并回车(仅限Windows专业版/企业版/教育版)。
2、依次展开: 计算机配置 → Windows 设置 → 脚本(启动/关机)。
3、双击右侧的“启动”,点击“添加”按钮。
4、在“脚本路径”中点击“浏览”,选择目标.bat文件;若脚本位于网络路径,需确保系统启动时网络已就绪或使用本地缓存路径。
五、通过VBScript隐藏调用BAT
直接运行BAT会在开机时弹出命令提示符窗口,使用VBScript可静默调用,提升用户体验,尤其适用于无人值守环境。
1、新建文本文件,在其中输入以下内容:
Set ws = CreateObject("WScript.Shell")
ws.Run "C:\path\to\your\script.bat", 0
2、将文件保存为扩展名为 .vbs 的文件(如“launch.vbs”),注意路径中含空格时仍需保留英文双引号。
3、将该.vbs文件复制到 shell:startup 启动文件夹中。

















