我又一个本地的任务需要总是又一个命令行窗口去监督-listenning
其实就是有这种办法
可以用于本地base64文件道德实时更新和订阅。
我的测试结果显示,在后面使用记事本更新文件,前端浏览器刷新一下就出来了。
txt c文件都可以直接展示但是html-中文没有显示好。
1-
1 | @echo off |
测试服务器
双击运行你刚刚创建的 start_server.bat 文件。
你会看到一个黑色的命令行窗口,显示 “Starting local server…” 或类似 “Serving HTTP on 0.0.0.0 port 8080” 的信息。不要关闭这个窗口,最小化即可。
打开你的浏览器,访问 http://127.0.0.1:8080/test_base64.txt。
如果浏览器能够显示或下载/ 显示 你的 txt 文件的内容(那一长串Base64字符串),说明本地服务器已经成功运行!
实现开机自启动(全自动化的关键)
为了不用每次开机都手动去双击 start_server.bat,我们需要让它随系统自动在后台启动。
创建后台运行脚本(可选但推荐,可以避免开机时弹出黑框)
在 D:\VPN 文件夹下,再新建一个文本文档。
将其重命名为 run_background.vbs。
用记事本编辑它,并粘贴以下内容:
1 | Set ws = CreateObject("Wscript.Shell") |
注意: 请将代码中的 D:\VPN\start_server.bat 替换成你自己存放 .bat 文件的实际路径。
保存文件。这个 .vbs 脚本的作用就是不弹出黑框、在后台静默运行我们的服务器脚本。
设置任务计划程序
按下 Win + R,输入 taskschd.msc,然后回车,打开“任务计划程序”。
在右侧“操作”栏中,点击“创建基本任务”。
名称:随便填写,如 V2rayN Local Server。
触发器:选择 “当前用户登录时” 或 “计算机启动时”。前者更常用。
操作:选择 “启动程序”。
程序或脚本:点击“浏览”,找到并选择我们刚刚创建的 run_background.vbs 脚本 (如果你想看到黑框,也可以直接选择 start_server.bat)。
点击“下一步”,然后点击“完成”。
最终效果
现在,整个自动化流程已经搭建完毕:
您开机或登录Windows后,任务计划程序会自动在后台无窗口地运行本地Web服务器。
当您打开V2rayN时(或者V2rayN随开机自启时),它会根据设置,自动从 http://127.0.0.1:8080/v.txt 这个地址检查更新。
由于这个地址指向的就是您本地每日更新的文件,V2总能获取到最新的节点信息。
但是这并不是完美的
这一个不用写文本路径
1
2
3
4
5
6
7
8
9
10
11
12
13' 获取当前VBScript文件的完整路径
strScriptPath = WScript.ScriptFullName
' 提取路径中的目录部分(去掉文件名)
Set objFSO = CreateObject("Scripting.FileSystemObject")
strScriptDir = objFSO.GetParentFolderName(strScriptPath)
' 拼接同目录下的bat文件路径
strBatPath = objFSO.BuildPath(strScriptDir, "start_server.bat")
' 运行bat文件(隐藏窗口)
Set ws = CreateObject("Wscript.Shell")
ws.Run """" & strBatPath & """ /start", 0 ' 双引号处理路径中的空格问题这个还可以确认操作
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20' 获取当前VBScript文件的完整路径
strScriptPath = WScript.ScriptFullName
' 提取路径中的目录部分
Set objFSO = CreateObject("Scripting.FileSystemObject")
strScriptDir = objFSO.GetParentFolderName(strScriptPath)
' 拼接同目录下的bat文件路径(这里使用你的bat文件名1.bat)
strBatPath = objFSO.BuildPath(strScriptDir, "1.bat")
' 运行bat文件(显示窗口以便查看,等待执行完成)
Set ws = CreateObject("Wscript.Shell")
returnCode = ws.run("D:\7zip\a.minitools\vpn\SubsCheck_Win_GUI\output\1.bat /start", 0)
' 弹出提示窗口,3秒后自动关闭,让你有时间确认结果
ws.Popup "操作已完成,3秒后自动退出...", 3, "提示", 0 ' 0表示只有"确定"按钮
' 自动退出脚本
WScript.Quit returnCode