java执行windows命令行

Runtime.getRuntime().exec(“cmd …”); 
响应者 2:
up haha 1lou de fang fa 
响应者 3:
try {
Process process = Runtime.getRuntime().exec(“cmd.exe /c start http://www.csdn.net“); //登录网站
Process process = Runtime.getRuntime().exec(“cmd.exe /c start ping 10.144.98.100”); //调用Ping命令
}catch (Exception e)
{
e.printStackTrace();


}

响应者 4:
Runtime.getRuntime().exec(“cmd /c calc”); 
响应者 5:
Process process = Runtime.getRuntime().exec(“cmd.exe /c ***”); //***是任意命令行
然后可以
InputStream is = ps.getInputStream();
在is中用 read的方法得到反馈信息 比如ping的信息或dir目录信息之类的.


或者用Shell

一个   shell   


import   java.util.*;   
import   java.io.*;   

class   StreamGobbler   extends   Thread   
{   
InputStream   is;   
String   type;   
Process   p;   

StreamGobbler(InputStream   is,   String   type)   
{   
this.is   =   is;   
this.type   =   type;   
}   

StreamGobbler(Process   proc,   String   type)   
{   
p   =   proc;   
this.type   =   type;   
is   =   proc.getInputStream();   
}   
public   void   run()   
{   
try   
{   
InputStreamReader   isr   =   new   InputStreamReader(is);   
BufferedReader   br   =   new   BufferedReader(isr);   
String   line=null;   
while   (   (line   =   br.readLine())   !=   null)   
System.out.println(type   +   “>”   +   line);           
}   catch   (IOException   ioe)   
{   
ioe.printStackTrace();       
}   
}   
}   

public   class   GoodWindow***ec   
{   
public   static   void   main(String   args[])   
{   
if   (args.length   <   1)   
{   
System.out.println(“USAGE:   java   GoodWindow***ec   <cmd>”);   
System.exit(1);   
}   

try   
{                           
String   osName   =   System.getProperty(“os.name”   );   
String[]   cmd   =   new   String[3];   

if(   osName.equals(   “Windows   2000”   )   )   
{   
cmd[0]   =   “cmd.exe”   ;   
cmd[1]   =   “/C”   ;   
cmd[2]   =   args[0];   
}   
else   if(   osName.equals(   “Windows   95”   )   )   
{   
cmd[0]   =   “command.com”   ;   
cmd[1]   =   “/C”   ;   
cmd[2]   =   args[0];   
}   

Runtime   rt   =   Runtime.getRuntime();   
System.out.println(“Execing   ”   +   cmd[0]   +   ”   ”   +   cmd[1]     
+   ”   ”   +   cmd[2]);   
Process   proc   =   rt.exec(cmd);   
//   any   error   message?   
//   StreamGobbler   errorGobbler   =   new     
//         StreamGobbler(proc.getErrorStream(),   “ERROR”);                           

//   any   output?   
StreamGobbler   outputGobbler   =   new     
StreamGobbler(proc,   “OUTPUT”);   

//   kick   them   off   
//errorGobbler.start();   
outputGobbler.start();   

//   any   error???   
int   exitVal   =   proc.waitFor();   
System.out.println(“Exitvalue:   ”   +   exitVal);                   
}   catch   (Throwable   t)   
{   
t.printStackTrace();   
}   
}   
}

Tagged . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *