【问题标题】:executing cmd command using a java program使用java程序执行cmd命令
【发布时间】:2014-12-18 06:28:47
【问题描述】:

我想使用 java 程序执行以下命令。 "java -jar Demo.jar readExcelDemo.Hvd"

public class ExcelDriver {
    public static void main(String[] args) throws IOException {
        Runtime runTime = Runtime.getRuntime();
        Process process = runTime.exec("cmd","/c", "cmd.exe","java -jar Demo readExcelDemo.Hvd");

            }
}

【问题讨论】:

  • 那有什么问题?
  • Runtime类型的exec(String, String[], File)方法不适用于参数(String, String, String, String)
  • 所以意思是没有采用 4 个字符串 args 的方法

标签: java cmd command


【解决方案1】:

试试这个:

Runtime runTime = Runtime.getRuntime();
Process process = runTime.exec("java -jar Demo.jar readExcelDemo.Hvd");

如果上面的代码不行,试试这个:

Runtime runTime = Runtime.getRuntime();
Process process = runTime.exec("cmd.exe /c start java -jar Demo.jar readExcelDemo.Hvd");

如果你想看 cmd,你可以使用下面的代码。 由于 /c 标志,它将立即关闭。

 Process p = runTime.exec("cmd.exe /c start cmd /k java -jar Demo.jar readExcelDemo.Hvd");

【讨论】:

  • 如果是这样,我认为这是你的命令问题。因为代码很好。
  • 我尝试了您的编辑代码,它正在打开 cmd 提示符并立即关闭。无法在控制台中看到它的打印内容。
  • 如果你想看cmd,你应该暂停cmd。
  • "cmd.exe /c start cmd /k java -version" 能否请您在命令中一一解释。
  • 我删除了 java -version 来回答 cosz 这是我的测试命令。 /c 我已经解释过了,/k 用于暂停第一个 cmd 窗口。现在好吗?
【解决方案2】:

创建一个包含内容的 .bat 或 .cmd 文件 java -jar Demo readExcelDemo.Hvd

把你的代码改成

public class ExcelDriver {
public static void main(String[] args) throws IOException {
    Runtime runTime = Runtime.getRuntime();
    Process process = runTime.exec("cmd","/c", "myfile.cmd");

        }

}

【讨论】:

  • Runtime类型的exec(String, String[], File)方法不适用于参数(String, String, String)
【解决方案3】:

你可以打电话:

Runtime.getRuntime().exec(command);

【讨论】:

  • 我没有得到任何输出。
  • 但是您只需转到 cmd 并输入命令即可获得输出?
  • 我想通过java程序执行
  • 对不起,我只是想确保命令正常工作。
  • 不管怎样,我的建议和@Ye Win 是一样的,你在问题上提出的命令是错误的。 “Demo”应该是“Demo.jar”。
猜你喜欢
  • 2013-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多