public static boolean spawnExe (String batch_file, boolean waitOnClose)
{
boolean retval = false;
try {
String osName = System.getProperty("os.name");
String[] cmd = new String[3]; // Win9X
if (osName.equals(WIN_95) ||
osName.equals(WIN_98) ||
osName.startsWith(WIN_3X) ||
osName.startsWith(WIN_FW) ) {
cmd[0] = "command.com" ;
cmd[1] = "/C" ;
cmd[2] = batch_file;
retval = true;
}
// W2K or greater
else if ( osName.startsWith(WIN) ) {
cmd[0] = "cmd.exe" ;
cmd[1] = "/C" ;
cmd[2] = batch_file;
retval = true;
} if (retval) {
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec(cmd); if (waitOnClose)
proc.waitFor();
}
} catch (Exception e) {
e.printStackTrace();
retval = false;
}
return retval;
}
{
boolean retval = false;
try {
String osName = System.getProperty("os.name");
String[] cmd = new String[3]; // Win9X
if (osName.equals(WIN_95) ||
osName.equals(WIN_98) ||
osName.startsWith(WIN_3X) ||
osName.startsWith(WIN_FW) ) {
cmd[0] = "command.com" ;
cmd[1] = "/C" ;
cmd[2] = batch_file;
retval = true;
}
// W2K or greater
else if ( osName.startsWith(WIN) ) {
cmd[0] = "cmd.exe" ;
cmd[1] = "/C" ;
cmd[2] = batch_file;
retval = true;
} if (retval) {
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec(cmd); if (waitOnClose)
proc.waitFor();
}
} catch (Exception e) {
e.printStackTrace();
retval = false;
}
return retval;
}
解决方案 »
- 初学图形化界面的一个小程序出了点问题
- java 正则表达式 怎么匹配HTML中,不包含在a标签中的img标签,并且捕获img标签src=""中双引号的值
- 一个Thread sleep()的简单问题
- 问下如何在JAVA中实现数据过滤的问题?
- rs.deleteRow()删除一个记录集中的一行 报‘无效的游标状态‘错误
- 如何调整继承自JPanel类中的组件的位置???
- 怎么把日期字符串转化为java.util.Date类型的数据呢
- 关于上朔造型的思考!有点地方想不明白
- char w[i]==''
- dynku(随风来去.cn)进来本人学JAVA以来第二个程序,计算器,问题多多,希望各位细心指点。
- 請問,GUI程序當中.1設置組件的焦點要怎樣,2如何進行對字串進行格式化(100分)
- 关于Filter的问题,请大家帮我好吗?
需要调用本地代码,也就是要使用JNI
加上这一段: 可以看执行的结果输出。InputStream in = proc.getInputStream();
BufferedReader line = new BufferedReader(new InputStreamReader(in));
String l = line.readLine();
while (l!=null)
{
System.out.println(l);
l = line.readLine();
}
in.close();
//String ip = "192.1.1.23"; // 改為你想看网卡物理地址的IP
String ip = request.getRemoteAddr();
Process pp= Runtime.getRuntime().exec ("nbtstat -A " + ip ); //nbtstat是你要執行的DOS命令,也可以帶參數
InputStreamReader ir = new InputStreamReader(pp.getInputStream());
LineNumberReader input = new LineNumberReader (ir);
String line="",ab="";
int y,z; for (y=1 ; y<100; y++)
{
ab = input.readLine();
if(ab!=null){
if(ab.indexOf("MAC Address") >-1){
line = line + ab + "<br>"; //這是執行命令的返回字符
}
}
}
String GetAdd = ip + "(" + request.getRemoteHost() + ")" + line ;
out.print(GetAdd);
//out.print(ip + "(" + request.getRemoteHost() + ")的网卡物理地址" + line + "<br>");
%>