java本地调用调试_远程调用cmd更新本地jar

news/2024/8/21 21:35:31 标签: java本地调用调试

/**

* 重启完成更新*/

publicboolean restart() {

log.info("restart");

String command= "cmd /c start C:\\rct\\winsw\\rct\\update.bat";//测试

String distName = "dist";

String jarName= "rct-demo-1.0.jar";

String bat;if (type.equals("dist")) {

log.info("dist");

bat= "@echo off\n" +

"%1 mshta vbscript:CreateObject(\"Shell.Application\").ShellExecute(\"cmd.exe\",\"/c %~s0 ::\",\"\",\"runas\",1)(window.close)&&exit\n" +

"cd /d \"%~dp0\"\n" +

"net stop \"" + webService + "\"" + "\n" +

"rmdir /S /Q" + targetFile + "\\" + "dist" + "\n" +

"xcopy /Y /E /i" + sourceFile + "\\" + distName + " " + targetFile + "\\" + distName + "\n" +

"net start \"" + webService + "\"";

}else if (type.equals("jar")) {

log.info("jar");

bat= "@echo off\n" +

"%1 mshta vbscript:CreateObject(\"Shell.Application\").ShellExecute(\"cmd.exe\",\"/c %~s0 ::\",\"\",\"runas\",1)(window.close)&&exit\n" +

"cd /d \"%~dp0\"\n" +

"net stop \"" + jarService + "\"" + "\n" +

"xcopy /Y /E /i" + sourceFile + "\\" + jarName + " " + targetFile + "\\" + jarName + "\n" +

"net start \"" + jarService + "\"";

}else{

log.info("all");

bat= "@echo off\n" +

"%1 mshta vbscript:CreateObject(\"Shell.Application\").ShellExecute(\"cmd.exe\",\"/c %~s0 ::\",\"\",\"runas\",1)(window.close)&&exit\n" +

"cd /d \"%~dp0\"\n" +

"net stop \"" + jarService + "\"" + "\n" +

"net stop \"" + webService + "\"" + "\n" +

"rmdir /S /Q" + targetFile + "\\" + "dist" + "\n" +

"xcopy /Y /E /i" + sourceFile + "\\" + jarName + " " + targetFile + "\\" + jarName + "\n" +

"xcopy /Y /E /i" + sourceFile + "\\" + distName + " " + targetFile + "\\" + distName + "\n" +

"net start \"" + jarService + "\"" + "\n" +

"net start \"" + webService + "\"";

}

creatBat(bat);

log.info("cmd exec");try{if(HttpUtil.isConnect(checkUrl)) {

updated= true;try{

Thread.sleep(5000);

}catch(InterruptedException e) {

e.printStackTrace();

}

HttpUtil.HttpClientPost(cmdUrl, command);

}else{

errored= true;return false;

}

}catch(Exception e) {

log.error("http请求异常");

e.printStackTrace();

errored= true;return false;

}

log.info("cmd success");return true;

}public voidcreatBat(String bat) {

FileWriter fw= null;try{

fw= new FileWriter("C:\\rct\\winsw\\rct\\update.bat");

fw.write(bat);

}catch(IOException e) {

e.printStackTrace();

}finally{if (fw != null) {try{

fw.close();

}catch(IOException e) {

e.printStackTrace();

}

}

}

}


http://www.niftyadmin.cn/n/712251.html

相关文章

Toast实现源码解析

说明 本篇文章用于介绍Android中Toast的实现原理。和简单实现一个自定义的Toast. Toast实现 一般常用Toast格式为: Toast.makeText(context,"text.",Toast.LENGTH_LONG).show(); 就此,对Toast做一个了解.首先,Toast调用来了一个静态方法makeTe…

java fastjson解析json_java JSON解析库Alibaba Fastjson用法详解

本文实例讲述了java JSON解析库Alibaba Fastjson用法。分享给大家供大家参考,具体如下:Json是一种轻量级的数据交换格式,应该在一个程序员的开发生涯中是常接触的。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写…

二元函数泰勒公式例题_高数031泰勒公式求极限 真香!

今天我们来看看泰勒公式的一些综合应用,先来如何利用泰勒公式求极限,有一些极限十分复杂难看,对函数密集恐惧症患者刺激巨大,这时候看似复杂的泰勒展开反而会将其巧妙化简,让问题迎刃而解。并且在原则上,任…

LVS-DR负载均衡-03

LB端脚本 # vim /usr/local/sbin/lvs-dr.sh #!/bin/bash#description : start LVS OF DIRECTORSERVER #GW192.168.28.253#WEBSITE DIRECTOR VIP WEB_VIP192.168.28.111 WEB_RIP1192.168.28.134 WEB_RIP2192.168.28.135 . /etc/rc.d/init.d/functions logger $0 called with $1 …

web前端学习(二十七)——CSS3导航栏的相关设置

1.CSS导航栏 垂直 水平 导航栏 熟练使用导航栏,对于任何网站都非常重要。 使用CSS你可以转换成好看的导航栏而不是枯燥的HTML菜单。 2.导航栏链接列表 作为标准的HTML基础一个导航栏是必须的,在我们的例子中我们将建立一个标准的HTML列表导航栏。 导航条…

ABP官方文档翻译 7.2 Hangfire集成

Hangfire集成 介绍ASP.NET Core集成ASP.NET MVC 5.x集成 面板授权介绍 Hangfire是一个综合的后台job管理器。你可以 把它集成到ABP,用来取代默认的后台job管理器。Hangfire可以使用相同的后台jobAPI。因此,你的代码与Hangfire是独立的。但是,…

vscode还用装git_VScode 搭配Git

VScode搭配Git一、Visual Studio Code安装Windows版下载地址2、安装一般默认下一步即可3、安装完,默认语言为英文,需要安装中文语言,步骤如下(1)点击左侧的小方块(拓展)(2)搜索框输入“Chinese”,点击“Install”(3)稍等一会,软件…

一步一步学习Redis——五大数据类型之哈希(Hash)的相关命令

文章目录: 1.开篇 2.Redis哈希(Hash)的相关命令 2.1 HSET命令 语法 返回值 2.2 HGET命令 语法 返回值 2.3 HMSET命令 语法 返回值 2.4 HMGET命令 语法 返回值 2.5 HSETNX命令 语法 返回值 2.6 HDEL命令 语法 返回值 …