我用这个主要是在捕获到程序的某些异常是重启Tomcat用的。
记录一下,以后有用到的时候好copy
import org.springframework.stereotype.Component;
/**
* 调用bat文件工具类
*
* @author
*
*/
@Component
public class CallBatUtil
{
public static void callBat(String batName)
{
ConstatFinalUtil.SYS_LOGGER.info("==执行命令==开始:{}",batName);
Process ps = null;
try
{
/*
* cmd /c 是执行完命令后关闭命令窗口。
* cmd /k 是执行完命令后不关闭命令窗口。
* cmd /c start 会打开一个新窗口后执行指令,原窗口会关闭。
* cmd /k start 会打开一个新窗口后执行指令,原窗口不会关闭。
*/
ps = Runtime.getRuntime().exec("cmd /c start " + batName);
ps.waitFor();
} catch (Exception e)
{
e.printStackTrace();
}
ps.destroy(); // 销毁子进程
ps = null;
ConstatFinalUtil.SYS_LOGGER.info("==执行命令==结束:{}",batName);
}
public static void main(String[] args)
{
String courseFile = System.getProperty("user.dir"); //获取项目跟路径
/*
* 删除指定文件
*/
// String batName = "E:\\workspace\\carCon\\carCon-common\\carCon-common-util\\src\\main\\resources\\删除指定文件(需指定文件路径).bat";
// String path = " e:\\aa\\aa.war";
// batName += path;
// callBat(batName);
/*
* 删除指定文件夹
*/
// String batName = "E:\\workspace\\carCon\\carCon-common\\carCon-common-util\\src\\main\\resources\\删除指定文件夹(需指定文件夹).bat";
// String path = " e:\\aa";
// batName += path;
// callBat(batName);
/*
* 拷贝文件
*/
// String batName = "E:\\workspace\\carCon\\carCon-common\\carCon-common-util\\src\\main\\resources\\拷贝文件.bat";
// String path1 = " e:\\aa\\aa.war ";
// String path2 = " d:\\aa";
// batName += path1;
// batName += path2;
// callBat(batName);
/*
* 启动服务
*/
// String batName = courseFile + "\\src\\main\\resources\\启动服务.bat";
// String sev = " tomcat"; //服务名
// batName += sev;
// callBat(batName);
/*
* 停止服务
*/
/*String batName = courseFile + "\\src\\main\\resources\\停止服务.bat";
String sev = " tomcat"; //服务名
batName += sev;
callBat(batName);*/
/*
*定时关机
*/
/*String batName = courseFile + "\\src\\main\\resources\\定时关机.bat";
String time = " 12:00"; //服务名
batName += time;
callBat(batName);*/
/*
*取消定时关机
*/
String batName = courseFile + "\\src\\main\\resources\\取消定时关机.bat";
callBat(batName);
}
}