请教高人
怎么在servlet里面打开cmd
并且在cmd里面写 指令并运行

解决方案 »

  1.   

    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();
                }  
            
          }
      

  2.   

    可是楼上的楼上是搂住的意思吗?他是要后台执行,还是调出doc窗口啊?
      

  3.   

    我觉得楼上的楼上的楼上应该是这个意思,虽然没有调出cmd,但是这个相当于调出了cmd,再写命令行了.
      

  4.   

    去这里看看吧:
    http://www.javadingle.com
      

  5.   

    各位兄弟
    谢谢大家的帮忙
    我知道这个方法并且写了两个 
    cmd调用的例子 
    一个是开网页 一个是调用 et。exe
    下面是这两个程序
    这个是开网页
    public class TestCmd {
        public TestCmd(){}
        public static void main(String args[]){
            try {
              Process process = Runtime.getRuntime().exec("cmd.exe  /c  start  http://www.hao123.net/");  //????
             // Process process = Runtime.getRuntime().exec("cmd.exe  /c  start  ping 10.5.2.19");  //??Ping??
            }catch (Exception  e)
            {
                e.printStackTrace();
                }  
            
          }
        } 这个是开et。exe的程序
    import java.io.*;
    import java.util.ArrayList;public class TestJavaexec
    {
    public static void main(String args[])
    {
    try
    {
    ArrayList list = new ArrayList(); String command = "c:\\odbc_data\\et.exe"; Process child = Runtime.getRuntime().exec(command);
    OutputStream out = child.getOutputStream();
    InputStream in = child.getInputStream(); BufferedReader bufRead = new BufferedReader(new InputStreamReader(in)); String data = null;
    while ((data = bufRead.readLine()) != null)
    list.add(data);
    child.waitFor(); if (child.exitValue() != 0)
    System.err.println("error!");
    bufRead.close();
    String[] outdata = (String[]) list.toArray(new String[0]); for (int i = 0; i < outdata.length; i++)
    {
    System.out.println(outdata[i]);
    } } catch (IOException e)
    {
    e.printStackTrace();
    System.out.println("exe");
    } catch (InterruptedException e)
    {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    }当我在cmd 中分别输入java TestCmd和java TestJavaexec
    都可以运行 这是个好现象 但问题是我要在servlet里面调用这种方法
    我就是简单的 把try后面的句子剪接进去
    然后开 tomcat 运行根本没反应  
    不知道为什么本地可以而在web上就不行了呢?
    各位高手不放发表下高见
      

  6.   

    APPLICATION应用,实现是没有问题的.
    SERVELT里能实现吗?我觉得不可能吧,不管从安全的角度还是是否能获得RUNTIME对象>
      

  7.   

    在servlet里能实现的,但是我们看不到,如果在任务管理器的进程里就能看到了.
      

  8.   

    Note: D:\gun\sucai\fff\TestJavaexec.java uses unchecked or unsafe operations.
    Note: Recompile with -Xlint:unchecked for
    各位兄弟
    为什么我编译这个程序的时候 会有这样两行 note 出来
    而 别的编译就 只有 tool succesfully run
    我的程序 功能就是 执行一个 exe folder 出来一个 output folder 
    现在 applet 能正常运行 可是 output folder 出来不了  
    我想问题肯定在这里
    请大家 帮忙想想 
    怎么解决