while ((line = input.readLine ()) != null)
{
System.out.println(line);//或者另开一个线程,在屏幕上某个地方显示这个执行过程的数据
}
System.out.println("All is Over");//假如这句打印出来了,就代表执行完了呀。
如果要想弹出一个窗口,那么你把命令写到一个bat文件中,然后执行这个bat文件就可以了。
{
System.out.println(line);//或者另开一个线程,在屏幕上某个地方显示这个执行过程的数据
}
System.out.println("All is Over");//假如这句打印出来了,就代表执行完了呀。
如果要想弹出一个窗口,那么你把命令写到一个bat文件中,然后执行这个bat文件就可以了。
“另开一个线程,在屏幕上某个地方显示这个执行过程的数据”这句话不太懂,可以在屏幕上任何地方显示执行过程?我非常需要这样的操作,但是就是不知道怎么做;
打印的那句是加在那后面吗?
我很想说明的是:每次一执行这个命令,速度就特别的慢,好象程序一直在运行当中一样,也不出什么提示,我现在正在运行BAT当中的命令,会弹出DOS窗口吗?就像我在开始运行当中相同命令操作的那种情景吗?
Process p = null;
Properties envVars = new Properties();
Runtime r = Runtime.getRuntime();
try
{
p = r.exec( "cmd.exe /c chkdsk" );
BufferedReader br = new BufferedReader ( new InputStreamReader( p.getInputStream() ) );
String line;
while( (line = br.readLine()) != null ) {
System.out.println(line);
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
package org.apache.poi.hssf.usermodel.examples;
import java.io.*;
import java.util.Properties;public class dos{ public static void main(String[] args)
{
Process p = null;
Properties envVars = new Properties();
Runtime r = Runtime.getRuntime();
try
{
p = r.exec( "c:\\exp crm/crm@crm_192.168.118.242 file=c:/crm.dmp;" );
BufferedReader br = new BufferedReader ( new InputStreamReader( p.getInputStream() ) );
String line;
while( (line = br.readLine()) != null ) {
System.out.println(line);
}
}
catch(Exception e)
{
e.printStackTrace();}
}}
这个命令单独在DOs窗口下运行是好着的么?p = r.exec( "cmd.exe \s c:\\exp crm/crm@crm_192.168.118.242 file=c:/crm.dmp;" );你在前面加一个cmd.exe试试
exp crm/crm@crm_192.168.118.242 file=c:/crm.dmp;这条指令在DOS窗口下是运行正常的啊