Windows 开机自启的三种做法:任务计划、启动文件夹与系统服务
前提:先交互式跑一次
官方文档专门提醒:先手动启动一次程序,让 Windows 防火墙弹出询问并放行——自启动静默运行的场景下没人帮你点这个弹窗。
方案一:启动文件夹(最简单)
适合「登录后就同步」的个人电脑:
Win+R打开运行框,输入shell:startup回车(即当前用户的启动文件夹);- 右键空白处 → 新建 → 快捷方式;
- 位置填
syncthing.exe 的完整路径 --no-console --no-browser; - 完成。
下次登录自动后台运行,无控制台窗口、不弹浏览器。界面照常从 127.0.0.1:8384 进。
方案二:任务计划程序(可控性更强)
Win+R运行taskschd.msc;- 右侧「创建任务」(Create Task);
- General:命名,勾「不管用户是否登录都要运行」(需输入密码);
- Triggers:新建触发器——「登录时」(跟随用户)或「启动时」(跟随系统开机,无人值守也能跑;注意 BitLocker 加密盘的非系统分区在登录前不可访问);
- Actions:新建操作,程序填 syncthing.exe 完整路径,参数填
--no-console --no-browser; - Settings:取消「超过此时间后停止任务」。
笔记本用户可在 Conditions 里勾「仅在有线网络时启动」(启动后网络变化不会中止程序)。
细节:在任务计划里「结束任务」只杀掉监视进程,彻底退出仍要到管理界面 Actions → Shutdown。
方案三:注册为系统服务(服务器/无人值守)
用 NSSM(Non-Sucking Service Manager)把程序注册成 Windows 服务,开机即跑、无需登录。官方文档给了一整套参数(--no-restart --no-browser --home=...、低优先级、优雅超时),并伴随一条重要警告:服务化后必须给 GUI 设置密码,否则本机任意进程都能通过 GUI 读写你的整个文件系统。
怎么选
- 个人电脑、登录即用:方案一;
- 需要开机即跑、与登录解耦:方案二;
- 无头服务器常驻:方案三(记得 GUI 密码),或干脆考虑 Linux systemd(见[Linux 自启动(02-autostart-linux.md))。