当前位置: 首页 > news >正文

单机开机无感全自动进入B\S架构系统

单机开机无感全自动进入B\S架构系统

    • 标题:单机用jar包启动项目bat(批处理)不弹黑窗口,并设置开机自启,打开浏览器,访问系统。
      • 引言:在实际工作中,遇到单机部署的情况,如今我们微服务的架构如何在单机本上运行,并且让用户无感,自动进入网页系统,那应该怎么做?
      • 正文
        • 1:jar包启动服务,存在黑窗口,并自动进入系统(初始条件)
        • 2:开机自启动
        • 3:隐藏9个服务黑窗口
        • 4:隐藏启动bat的黑窗口
        • 知识扩展

标题:单机用jar包启动项目bat(批处理)不弹黑窗口,并设置开机自启,打开浏览器,访问系统。

引言:在实际工作中,遇到单机部署的情况,如今我们微服务的架构如何在单机本上运行,并且让用户无感,自动进入网页系统,那应该怎么做?

正文

1:jar包启动服务,存在黑窗口,并自动进入系统(初始条件)

因工作需要,现有以下场景,一套微服务的jar包需要在windows系统下运行,并且不采用docker的形式,现已投入到实际中使用,所以写下此篇文章供其他人使用及自己后续拿来参考。

本次部署的有注册中心 配置中心 用户中心 auth zuul web 附件中心 工作流 业务系统
对应有9个jar包,分别用9个bat命令处理
例:
01-eureka.bat

D:\xxx\xxx/jdk1.8.0_xx\bin\java -Xmx512m -jar eureka.jar

注释:这里表示使用jar命令启动jar包

02-config.bat

D:\xxx\xxx/jdk1.8.0_xx\bin\java -Xmx512m -jar config.jar

注释:这里表示使用jar命令启动jar包

以此类推,写完9个bat处理,因为各个服务启动直接的关系,需要间隔一段时间
所以9个bat脚本写完之后,可以写一个
10-batStart.bat

@echo off
start 01-eureka.bat
timeout /T 20 /NOBREAKstart 02-config.bat 
timeout /T 30 /NOBREAK
....
"C:\Program Files\Mozilla Firefox\firefox"

@echo off表示执行了这条命令后关闭所有命令(包括本身这条命令)的回显。而echo off命令则表示关闭其他所有命令(不包括本身这条命令)的回显,@的作用就是关闭紧跟其后的一条命令的回显
注释:这里表示,关闭回显,启动刚刚提到的第一个bat脚本,启动eureka,等待20秒后,启动第二个脚本配置中心,等待30秒后,启动后续的脚本,依次启动完九个脚本后,打开浏览器。

之后,设置打开浏览器的初始页面,将其设置为系统的登录地址例如:localhost/login
在这里插入图片描述

这样设置后,可实现效果,当点击10-batStart.bat之后,9个服务的黑窗口间隔20或者30秒依次开启,最终打开浏览器,进入系统的登录页。

2:开机自启动

使用windows+R,打开运行窗口,输入

shell:startup

打开如下文件夹,将10-batStart.bat拖进去
在这里插入图片描述
可实现开机自启动服务,并打开浏览器进入系统。

在这里插入图片描述
但是这样会存在以下问题,服务启动成功,但是黑窗口依旧存在,如果不小心关掉,那系统将会不可用。
在这里插入图片描述

3:隐藏9个服务黑窗口

我们已经写好01-eureka.bat|02-config.bat…,接下来需要为这几个窗口隐藏掉,用到的脚本为vbs(Microsoft Visual Basic Script Edition 微软公司可视化BASIC脚本版)。
例:新建脚本
01-eureka.vbs

set ws = WScriot.CreateObject("Wscript.Shell")
ws.run "D:\xxx\xxx\01-eureka.bat",0

这样即可将01-eureka.bat启动的黑窗口隐藏掉。

02-config.vbs

set ws = WScriot.CreateObject("Wscript.Shell")
ws.run "D:\xxx\xxx\02-config.bat",0

这样即可将02-config.bat启动的黑窗口隐藏掉。

依次为9个bat的脚本写vbs脚本。
原本的10-batStart.bat留着,还有用(运维阶段使用)
新建11-vbsStart.bat

@echo off
chcp 65001
echo 系统启动中...& echo 系统启动成功后自动开启火狐浏览器 & 请勿关闭此窗口,系统启动成功后此窗口自动关闭。d:
cd xxx\xxx(这里进入bat及vbs脚本所在文件夹)cscript D:\xxx\xxx\01-eureka.vbs
timeout /T 20 /NOBREAKcscript D:\xxx\xxx\02-config.vbs
timeout /T 20 /NOBREAK.....
"C:\Program Files\Mozilla Firefox\firefox"

注释:chcp 65001 指的是UTF-8编码 d: 及cd xx\xx是进入到命令可执行的文件夹下,不然默认在CMD窗口默认C盘下,会执行失败。
启动eureka的vbs脚本,实际vbs脚本执行的就是bat,只不过隐藏了黑窗口。依次执行完9个服务,打开浏览器,进入系统。

可以将11-vbsStart.bat发送快捷方式至桌面,并修改一个图标,
在这里插入图片描述
这样双击桌面即可自动启动系统并且,隐藏掉9个服务的窗口,但是这样依旧有一个问题,就是当前的bat存在黑窗口。

4:隐藏启动bat的黑窗口

到了这一步,已经理解了上边内容的相信已经有了答案,那就是为11-vbsStart.bat写一个vbs脚本,并且再写一个开机启动的bat用来启动vbs。

11-vbsStart.vbs

set ws = WScriot.CreateObject("Wscript.Shell")
ws.run "D:\xxx\xxx\11-vbsStart.bat",0

开机去黑窗口自启动系统.bat

d:
cd xxx\xxx
cscript D:\xxx\xxx\11-vbxStart.vbs

windows+R

shell:startup

在这里插入图片描述
总结:这样完成之后,目录为以下列表,可实现电脑重启后,黑窗口一闪而过(0.1秒),大约等待2分钟后,自动开启浏览器,并进入系统页面。

01-eureka.bat
01-eureka.vbs
02-config.bat
02-config.vbs
03-user.bat
03-user.vbs
04-auth.bat
04-auth.vbs
05-zuul.bat
05-zuul.vbs
06-web.bat
06-web.vbs
07-atta.bat
07-atta.vbs
08-flow.bat
08-flow.vbs
09-project.bat
09-project.vbs
10-batStart.bat
10-batStart.vbs
11-vbsStart.bat
11-VbsStart.vbs
开机去黑窗口自启动系统.bat
知识扩展

批处理命令介绍。

1.批处理文件是一个“.bat”结尾的文本文件,这个文件的每一行都是一条DOS命令。可以使用任何文本文件编辑工具创建和修改。
2.批处理是一种简单的程序,可以用 if 和 goto 来控制流程,也可以使用 for 循环。
3.批处理的编程能力远不如C语言等编程语言,也十分不规范。
4.每个编写好的批处理文件都相当于一个DOS的外部命令,把它所在的目录放到DOS搜索路径(path)中,即可在任意位置运行。5.C:\AUTOEXEC.BAT 是每次系统启动时都会自动运行的,可以将每次启动时都要运行的命令放入该文件中。
6.大小写不敏感(命令符忽略大小写)
7.批处理的文件扩展名为 .bat 或 .cmd。
8.在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe来运行该文件。

vbs命令介绍

VBS是基于Visual Basic的脚本语言。VBS的全称是:Microsoft Visual Basic Script Edition。(微软公司可视化BASIC脚本版)。
其语言类似Visual Basic(VB)。

http://www.lryc.cn/news/274442.html

相关文章:

  • 大一,如何成为一名fpga工程师?
  • MyBatisPlus学习三:Service接口、代码生成器
  • 产品经理如何选择城市?
  • 再谈“敏捷”与“瀑布”在产品开发过程中的反思
  • 设计模式② :交给子类
  • Hive 源码
  • 调整几行代码,接口吞吐提升 10 倍,性能调优妙啊!
  • MACOS Atrust服务异常
  • LLM大语言模型(四):在ChatGLM3-6B中使用langchain
  • Dubbo入门介绍和实战
  • 如何实现无人机识别功能
  • Python学习笔记(四)流程控制方法
  • 【Qt- C++ Qml 交互】
  • ubuntu 20.04 自由切换 python 的版本
  • 程序性能优化全能手册
  • LiveSIPB流媒体国网B接口功能-国网B接口服务安装使用说明
  • 利用小红书笔记详情API:为内容运营提供强大的支持
  • 地理空间分析1——入门Python地理空间分析
  • 哈尔滨爆火的背后有什么值得我们学习的,2024普通人如何创业/2024风口行业
  • element中Tree 树形控件实现多选、展开折叠、全选全不选、父子联动、默认展开、默认选中、默认禁用、自定义节点内容、可拖拽节点、手风琴模式
  • 数据结构OJ实验15-插入排序与交换排序
  • 鹿目标检测数据集VOC格式500张
  • 静态网页设计——电影推荐网(HTML+CSS+JavaScript)
  • ARM CCA机密计算架构软件栈简介
  • C#编程-使用集合
  • linux 设备模型之设备
  • 电源滤波可采用 RC、LC、π 型滤波。电源滤波建议优选磁珠,然后才是电感。同时电阻、电感和磁珠必须考虑其电阻产生的压降。
  • STM32通用定时器-输入捕获-脉冲计数
  • Flutter GetX 之 路由管理
  • 基于单片机的农田灌溉系统(论文+源码)