使用java代码退出批处理文件
我有这样的示例代码使用java代码退出批处理文件,java,windows,Java,Windows,我有这样的示例代码 /* * To change this template, choose Tools | Templates * and open the template in the editor. */ /** * * @author padmaja */ import java.io.*; class Test{ public static void main(String arg[]){ try{ String command = "cmd
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author padmaja
*/
import java.io.*;
class Test{
public static void main(String arg[]){
try{
String command = "cmd /C start C:/excel.bat";
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec(command);
}catch (IOException e) {
e.printStackTrace();
}
}
}
我正在使用上述代码打开excel工作表
问题是,如果使用线程每隔15分钟打开一次excel工作表,则会显示多个excel工作表。我想从上述代码本身关闭批处理文件的运行
提前感谢一个选项是使用taskkill命令()终止进程。当然,这只会终止该过程,因此您将无法执行任何清理/保存等操作。一旦打开Excel工作表,最终用户将与其交互,对吗?你怎么知道可以关闭它?如果您只是为一些加载运行的宏启动Excel,则可以在该宏中退出 在我的项目中,我们遇到了同样的问题
您可以编写一个DLL,它可以根据需要打开和关闭已启动的进程。在C++中,你可以处理你所描述的过程。您可以获得一个进程id,从中可以识别正在运行的进程。据我所知,您只能终止进程,而不能通过要求用户关闭窗口来优雅地终止进程。您应该在代码段中格式化代码。为此,请在每行的开头添加4个空格。此外,在代码段的上方和下方都有一个空行。您在这个Excel工作表中做什么?是否执行VBA宏?您是否等待任何用户交互?请提供更多细节(参见Hemal Pandya的回答)问题是,我发现这样的代码真的很奇怪,因为这是一个症状,表明烟囱应用程序/脚本使用混乱的方式粘在一起存在更深层次的问题。如果可能的话,最好解决这个问题,而不是像这样胡乱修改。不过,这可能是不可能的。我同意这是我的第一个想法!你知道什么时候该结束工作表了吗?VBA宏对其起作用吗?然后,该宏将关闭该文件。永远不要猜测一个过程需要多少时间。非常正确。但除非帕拉维澄清,否则我们永远不会知道:-)