【问题标题】:How to run windows commands (cd programfiles..etc) through java program如何通过java程序运行windows命令(cd programfiles..etc)
【发布时间】:2012-09-17 17:38:23
【问题描述】:

我想问一下我们可以在 Windows 中运行命令,就像我通过键入 cmd 打开命令提示符一样。 C:/> cd 程序文件 C:/>cd 任意目录

我想问我可以从 java 运行这些命令吗?就像我想通过 java 运行命令cd programfiles。我可以做吗?

谢谢

【问题讨论】:

    标签: java


    【解决方案1】:

    请参阅我的answer 来回答一些人认为有用的类似问题。就是这样:

    您可以使用Runtime.exec(java.lang.String, java.lang.String[], java.io.File) 来设置工作目录。

    否则你可以使用ProcessBuilder,如下:

    ProcessBuilder pb = new ProcessBuilder("myCommand", "myArg1", "myArg2");
    pb.directory(new File("myDir"));
    Process p = pb.start();
    

    【讨论】:

      【解决方案2】:

      你可以使用ProcessBuilder类如下:

      public static void main(String [] args) throws IOException 
      {                
          String[] command = {"CMD", "/C", "dir"};
          // ProcessBuilder will execute process named 'CMD' and will provide '/C' and 'dir' as command line arguments to 'CMD'
      
          ProcessBuilder pbuilder = new ProcessBuilder(command);
          Process process = probuilder.start();
      
          //Wait for process to finish
          try 
          {            
              int exitValue = process.waitFor();
              System.out.println("\n\nExit Value is " + exitValue);        
          } 
          catch (InterruptedException e) 
          {            
              e.printStackTrace();        
          }
      }
      

      【讨论】:

      • 你使用了{"CMD", "/C", "dir"}。 cmd代表命令吗,/C代表C目录,dir代表C中的任意目录?
      • 检查 ProcessBuilder constructor 的 javadoc,索引 0 是程序,其余索引是它的参数。
      【解决方案3】:

      如果您想更改工作目录,可以使用内置函数。如果要运行命令,请参阅example

      【讨论】:

        【解决方案4】:

        这用于使用 Java 运行命令行命令

              Runtime.getRuntime().exec()
        

        【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-14
        相关资源
        最近更新 更多