折腾 vbs 的开机自启

最近想在 Windows 和安卓间同步 Obsidian 笔记和音乐,折腾了一下 Syncthing
因为想隐藏掉烦人的命令行窗口,最开始用了一个 bat 搭配一个 vbs,都放在 syncthing.exe 的同目录内
runSyncthing.bat:

syncthing.exe --home=profiles

runSyncthing.vbs:

set ws=wscript.createobject("wscript.shell")
ws.run "runSyncthing.bat /start",0

感觉这个软件确实好用,便想着开机自启,用了 Uninstall Tool 的管理自启的功能,结果不管用图上哪种方式开机运行都会报错
然而开机后手动运行 vbs 是完全正常的


最后摸索出来两种方案:

  1. 只需要 vbs 即可
Dim ws
Set ws = CreateObject("Wscript.Shell")
ws.run "c:\software\Syncthing\syncthing.exe --home=c:\software\Syncthing\profiles",vbhide
Wscript.quit
  1. 给 bat 和 vbs 的可执行文件以及参数都加上路径

runSyncthing.bat:

c:\software\Syncthing\syncthing.exe --home=c:\software\Syncthing\profiles

runSyncthing.vbs:

set ws=wscript.createobject("wscript.shell")
ws.run "c:\software\Syncthing\runSyncthing.bat /start",0
1 个赞

创建 Syncthing 快捷方式,修改,添加参数:D:\YourFolder\syncthing.exe --no-console --no-browser,放入 shell:startup 文件夹,完活。(参考: Starting Syncthing Automatically — Syncthing documentation

2 个赞

可以用这个: GitHub - Bill-Stewart/SyncthingWindowsSetup: Syncthing Windows Setup

太复杂了,不如软件自带参数

原来自带不显示console的参数……感觉自己像个小丑 :clown_face:

很多人搞出了很多种无窗口启动 Syncthing 的方法,唔,日常

轻声安慰自己可以用来自启别的没自带不显示 console 参数的程序,比如 aria2 :rofl:

1 个赞

我 Windows 11 上加参数的方式手动可以静默启动,但随系统启动还是会弹控制台……

我也发现了,而且我这里手动也没有静默,还是会弹控制台窗口
没想到最后还是靠我的 VBS…… :rofl:

Windows11,放启动文件夹里挺稳的

为什么不用服务啊

https://nssm.cc/

1 个赞

感谢,看起来是个好东西,有空研究下,似乎跟 EasyService 有异曲同工之处?抽空得研究下这两个

Martchus/syncthingtray: Tray application and Dolphin/Plasma integration for Syncthing (github.com)
Syncthing可以用这个一套解决。

1 个赞

这个试用了一下,不太会用,而且不是绿色化的,还是直接用 vbs 吧,不到 1kb 的大小解决问题

这种不是专业务启动软件,启动没问题。如果程序意外退出,那就比较麻烦了。我喜欢用awaysup

在github上看到好多条关于这个的issues,改一下Windows Terminal设置里的“默认终端应用程序”为“Windows控制台主机”就能用快捷方式后台运行了,@dms 的设置应该是这样的吧?
不过这么一改,我怕会影响到别的,我还是用 vbs 好了

好像我的设置和上图是一样的

你们太专业了…… NSSM 和 EasyService 我都觉得很高端很专业了,你这还整出来一个付费软件 :face_with_peeking_eye:

推测找不到路径的问题是working directory没设置好,换成绝对路径应该就行了。

1 个赞

别折腾vbs了,微软已经打算在Windows里弃用vbs了。
想无窗口开机自启命令行工具直接用任务计划,在里面指定使用SYSTEM用户执行某个bat或exe就行了。
不过这种方式存在一个缺陷:因为使用的是SYSTEM用户,所以是读不到用户环境变量的。

1 个赞