java 执行bat批处理文件 并关闭cmd窗口

import java.io.IOException;

public class CmdMain {
 public static void main(String[] args){

  //执行批处理文件
  String strcmd="cmd /c start  D:\\antrelease.bat";
  Runtime rt = Runtime.getRuntime();
  Process ps = null;
  try {
     ps = rt.exec(strcmd);
  } catch (IOException e1) {
     e1.printStackTrace();
  }
  try {
   ps.waitFor();
  } catch (InterruptedException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  int i = ps.exitValue();
  if (i == 0) {
    System.out.println("执行完成.") ;
  } else {
    System.out.println("执行失败.") ;
  }
  ps.destroy();
  ps = null;

  //批处理执行完后,根据cmd.exe进程名称 kill掉cmd窗口(这个方法是好不容易才找到了,网上很多介绍的都无效)
  new CmdMain().killProcess();

 }

 public void killProcess(){
  Runtime rt = Runtime.getRuntime();
  Process p = null;
  try {
   rt.exec("cmd.exe /C start wmic process where name=‘cmd.exe‘ call terminate");
  } catch (IOException e) {
   e.printStackTrace();
  }
 }
}
时间: 2024-11-01 14:20:27

java 执行bat批处理文件 并关闭cmd窗口的相关文章

Java执行bat批处理文件,并关闭cmd窗口

package com.baobaotao.test; import java.io.IOException; public class CmdMain { public static void main(String[] args) { // 执行批处理文件 String strcmd = "cmd /c start E:\\run.bat"; Runtime rt = Runtime.getRuntime(); Process ps = null; try { ps = rt.ex

Windows Server 2008中使用计划任务定时执行BAT批处理文件图文教程

这篇文章主要介绍了Windows Server 2008中使用计划任务定时执行BAT批处理文件,这样就可以定时执行自己的任务了. 首先Windows Server 2008不同于其他服务器操作系统和Windows Server 2003有着很大的区别,计划任务的名称是"任务计划程序"不在控制面板里,而是在"管理工具"里. 由于服务器需要做些任务,定时执行,自己写程序吧,麻烦,所以采用BAT进行代替操作,网络上很多人都在说每分钟执行怎么配置,今天我们就配置一下. 打开

使用bat打开多个cmd窗口执行gulp、node

一.使用场景 使用场景:项目发布前 操作步骤: 1.执行gulp,对文件进行压缩.合并等操作: 2.在1执行完成后,对1中合并的文件如default.css进行多主题色的自动生成,在这里使用node处理. 问题:手工操作步骤繁琐 打开cmd->切换执行目录->执行gulp->关闭cmd(gulp执行后,该窗口不能再执行其他命令)->打开cmd->切换目录->执行node->关闭cmd 需求:使用.bat自动完成上述步骤 二.bat代码 1 @echo off 2

Windows Server 2012和2008中使用计划任务定时执行BAT批处理文件 定时备份mysql数据

MySQL 安装位置:D:\Program Files\MySQL\MySQL Server 5.0\data 如图: 数据库名称为:952game数据库备份目的地:d:\db_bak\ (你想把数据库备份到哪个盘的路径)我想备到D盘的db-bak目录下面============================新建db_bak.bat,写入以下代码 我的数据库地址 我备份的文件地址:  我的db-bak.dat 文件 net stop mysqlxcopy "E:\Server\mysql\My

c#执行bat批处理文件,并通过线程将结果显示在控件中

核心代码如下: Process p = new Process(); p.StartInfo.FileName = filePath; p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardInput = true; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.RedirectStandardError = true; p.StartInfo.Create

bat批处理文件运行时隐藏cmd窗口

想让bat运行时隐藏cmd窗口,最好的方法是使用vbs文件实现, 1.新建一个文本文档,改名为123.vbs,编辑内容: set ws=WScript.CreateObject("WScript.Shell") ws.Run "yy.bat",0 yy.bat是同目录下的批处理文件.双击123.vbs,即可运行批处理文件,但没有cmd窗口弹出. 缺点:这种方法可以隐藏cmd窗口,但不能隐藏bat中打开的第三方窗口.如yy.bat的内容为:WinRAR.exe x  

在cmd窗口下运行Java程序时无法找到主类的解决办法

我是Java的初学者,昨天在cmd窗口下运行一段Java程序时总是有问题,可以编译但无法执行. 也就是javac时正确,一旦java时就不对了,提示找不到或无法加载主类,经百度谷歌再加上自己的摸索终于解决了问题. 现在汇总一下这类问题的可能解决办法. 1.检查环境变量路径配置错误. JAVA_HOME是jdk的路径,CLASSPATH是lib路径(记得前面要加.;这俩个),Path是bin的路径. 2.更改一下CLASSPATH的路径. 比如我原来的是.;C:\Program Files\Jav

使用java对执行命令行 或 执行bat文件

public class Hellotianhao { public static void main(String[] args) throws Exception{ System.out.println("hello tianhao"); Runtime.getRuntime().exec("cmd /k mkdir d:\\xutianhao"); } } 运行结果是在d盘新建了一个名为xutianhao的文件夹 java执行bat文件  bat文件书写注意在

使cmd窗口不自动关闭

在执行某些bat时,实行完毕,cmd窗口会自动关闭,如果有异常出现,想查看异常信息也不太容易,所以想到让bat执行完后,不关闭cmd窗口,尝试一下方法: 将注册表,HKEY_CLASSES_ROOT\batfile\shell\open\command 里面把默认项("%1" %*)的值改成cmd /E:ON /V:ON /F:ON /k "%1" %* 就可以了 .