【问题标题】:Launching batch file from JAVA not working for directory path having spaces从 JAVA 启动批处理文件不适用于包含空格的目录路径
【发布时间】:2014-09-02 10:14:03
【问题描述】:

我创建了一个包含以下内容的批处理文件

xcopy "C:\Documents\javascript\src\*" "C:\Program Files (x86)\Apache Group\Apache2\htdocs\docs\8.1\version1\" /s /y

我正在使用 Java 运行批处理文件。从命令行运行脚本或直接执行它(双击)似乎没有任何问题。但是,当我使用 java 运行时,复制操作没有成功。在执行脚本时,我在控制台中看到一条消息 More?

同时为没有空格的目录路径运行复制操作似乎工作正常。 这是运行批处理文件的java方法。

   public void run(String input)
  {     
    File dir = new File(input);
    ProcessBuilder processBuilder = new ProcessBuilder("cmd");
    processBuilder.redirectInput(dir);
    Process process = processBuilder.start();
    int exitStatus = process.waitFor();
    process.destroy();
  }

有什么建议吗?提前致谢。

【问题讨论】:

  • 如果你发布你的代码来启动这个过程,它可以帮助读者。

标签: java batch-file command-line copy xcopy


【解决方案1】:

这取决于您启动 bat 文件的方式
对我来说这很好用:

Runtime.getRuntime().exec("cmd /c start xcopy-file.bat"

【讨论】:

  • 感谢工作。我正在使用 ProcessBuilder 类来运行我的 .bat 文件
猜你喜欢
  • 1970-01-01
  • 2012-05-02
  • 1970-01-01
  • 2021-08-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-20
  • 1970-01-01
相关资源
最近更新 更多