单机开机无感全自动进入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)。
相关文章:
单机开机无感全自动进入B\S架构系统
单机开机无感全自动进入B\S架构系统 标题:单机用jar包启动项目bat(批处理)不弹黑窗口,并设置开机自启,打开浏览器,访问系统。引言:在实际工作中,遇到单机部署的情况,如今…...
大一,如何成为一名fpga工程师?
1、数电(必须掌握的基础),然后进阶学模电(选学), 2、掌握HDL(HDLverilogVHDL)可以选择verilog或者VHDL,建议verilog就行。 3、掌握FPGA设计流程/原理(推…...
MyBatisPlus学习三:Service接口、代码生成器
学习教程 黑马程序员最新MybatisPlus全套视频教程,4小时快速精通mybatis-plus框架 Service接口 简介 在MyBatis-Plus框架中,Service接口的作用是为实体类提供一系列的通用CRUD(增删改查)操作方法。通常情况下,Servi…...
产品经理如何选择城市?
年底,全国性的人口大迁徙即将开始。选择城市,堪称年轻人的“二次投胎”,族望留原籍,家贫走他乡。 古人在选择城市时,主要的考量因素是家族势力,这一点放在当代,大致也成立,如果在老…...
再谈“敏捷”与“瀑布”在产品开发过程中的反思
作为一家专注于软件开发的公司《智创有术》,我们致力于为客户提供创新、高效和可靠的解决方案。通过多年的经验和专业知识,我们已经在行业内建立了良好的声誉,并赢得了客户的信任和支持。 支持各种源码,网站搭建,APP&a…...
设计模式② :交给子类
文章目录 一、前言二、Template Method 模式1. 介绍2. 应用3. 总结 三、Factory Method 模式1. 介绍2. 应用3. 总结 参考内容 一、前言 有时候不想动脑子,就懒得看源码又不像浪费时间所以会看看书,但是又记不住,所以决定开始写"抄书&qu…...
Hive 源码
hive 编译 issue Failed to execute goal com.github.os72:protoc-jar-maven-plugin:3.5.1.1:run (default) on project hive-standalone-metastore: Error resolving artifact: com.google.protobuf:protoc:2.5.0: The following artifacts could not be resolved: com.goog…...
调整几行代码,接口吞吐提升 10 倍,性能调优妙啊!
景 分析过程 总结 背景 公司的一个ToB系统,因为客户使用的也不多,没啥并发要求,就一直没有经过压测。这两天来了一个“大客户”,对并发量提出了要求:核心接口与几个重点使用场景单节点吞吐量要满足最低500/s的要求。 当时一想,500/s吞吐量还不简单。Tomcat按照100个线程…...
MACOS Atrust服务异常
MAC版Atrust服务异常 点击进入办公后出现提示其一: 核心服务未启动,部分功能存在异常,确定重新启动吗? 可能的原因: 1.上次已完全退出客户端 2.核心服务被其他程序优化禁用 点击重新启动后,出现提示&#x…...
LLM大语言模型(四):在ChatGLM3-6B中使用langchain
目录 背景准备工作工具添加LangChain 已实现工具Calculator、Weather Tool配置 自定义工具自定义kuakuawo Agent 多工具使用参考 背景 LangChain是一个用于开发由语言模型驱动的应用程序的框架。它使应用程序能够: 具有上下文意识:将语言模型与上下文源(提示指令&…...
Dubbo入门介绍和实战
1. 引言 Dubbo是一款开源的高性能、轻量级的Java RPC(远程过程调用)框架,旨在解决分布式服务之间的通信问题。本文将介绍Dubbo的基础概念、核心特性以及使用场景,包括实际示例演示。 2. 什么是Dubbo? Dubbo是阿里巴…...
如何实现无人机识别功能
无人机识别算法可以基于不同的传感器和技术,结合多种方法进行实现。以下是一些常见的无人机识别算法和技术: 视觉识别: 图像处理: 使用计算机视觉技术对无人机图像进行处理,包括特征提取、目标检测和跟踪等。深度学习&…...
Python学习笔记(四)流程控制方法
流程控制有三种方法:分支、循环、跳出 流程的控制通过布尔值来实现,分支和循环都需要对一定的条件进行判断,根据判断结果(布尔值)决定下一步要做什么 布尔值通过比较运算符、逻辑运算符来进行判断是True还是False 不…...
【Qt- C++ Qml 交互】
Qt编程指南 VX:hao541022348 ■ 将C对象注册到 QML中,在QML使用C对象■ C对象注册到元对象系统■ Q_INVOKABLE 宏定义是将C 的 函数(方法)声明为元对象系统可调用的函数■ 演示步骤 ■ 将 C类注册到 QML,并在QML声明一…...
ubuntu 20.04 自由切换 python 的版本
问题描述 当前 ubuntu 20.04 默认安装了多个 python 的版本,执行 python 时,默认版本是 Python 2.7.18 zhangszzhangsz:~$ python Python 2.7.18 (default, Jul 1 2022, 12:27:04) [GCC 9.4.0] on linux2 Type "help", "copyright&quo…...
程序性能优化全能手册
本文聊一个程序员都会关注的问题:性能。 当大家谈到“性能”时,你首先想到的会是什么? 是每次请求需要多长时间才能返回? 是每秒钟能够处理多少次请求? 还是程序的CPU和内存使用率高不高? 这些问题基本上…...
LiveSIPB流媒体国网B接口功能-国网B接口服务安装使用说明
LiveSIPB 国网B接口服务安装使用说明 1、服务说明1.1、安装包说明1.2、国网B接口信令服务1.3、国网B接口流媒体服务1.4、配置信令服务(LiveCMS)1.5、配置流媒体服务(LiveSMS) 2、服务运行2.1、Windows2.2、Linux 3、配置设备接入3.1、海康STATE_GRID接入示例 4、平台使用4.1、管…...
利用小红书笔记详情API:为内容运营提供强大的支持
利用小红书笔记详情API,内容运营者可以获得对小红书平台上的笔记内容的深入洞察,从而为其运营工作提供强大的支持。以下是该API如何支持内容运营的几个关键方面: 获取笔记内容与数据: API允许内容运营者直接获取小红书平台上的笔记…...
地理空间分析1——入门Python地理空间分析
写在开头 地理空间分析是一门涉及地球表面数据处理和解释的科学,通过对地理现象的研究,我们可以更深入地了解地球各个角落的关系。Python作为一种功能强大的编程语言,在地理空间分析领域展现了强大的潜力。本文将带您深入了解入门级别的Pyth…...
哈尔滨爆火的背后有什么值得我们学习的,2024普通人如何创业/2024风口行业
这个冬天,“南方小土豆”带火东北冰雪游。“冰城”黑龙江哈尔滨的文旅市场异常火爆,元旦假期3天,哈尔滨市累计接待游客304.79万人次,实现旅游总收入59.14亿元。旅游总收入达到历史峰值。哈尔滨旅游怎么就爆火了?背后究…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...
LeetCode - 394. 字符串解码
题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...
Java多线程实现之Thread类深度解析
Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...
九天毕昇深度学习平台 | 如何安装库?
pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习) 一、Aspose.PDF 简介二、说明(⚠️仅供学习与研究使用)三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...
Linux 内存管理实战精讲:核心原理与面试常考点全解析
Linux 内存管理实战精讲:核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用,还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...
无人机侦测与反制技术的进展与应用
国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机(无人驾驶飞行器,UAV)技术的快速发展,其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统,无人机的“黑飞”&…...
Web中间件--tomcat学习
Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机,它可以执行Java字节码。Java虚拟机是Java平台的一部分,Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...
小木的算法日记-多叉树的递归/层序遍历
🌲 从二叉树到森林:一文彻底搞懂多叉树遍历的艺术 🚀 引言 你好,未来的算法大神! 在数据结构的世界里,“树”无疑是最核心、最迷人的概念之一。我们中的大多数人都是从 二叉树 开始入门的,它…...
