whipjeans
2013-09-22 01:11
采纳率: 100%
浏览 1.8k
已采纳

java用命令调用bat批处理的问题

Runtime.getRuntime().exec(cmd /k start bat文件路径);
里面的路径有空格怎么办,加上双引号不可以的,有什么办法??

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 快乐的走在路上 2013-09-22 08:13
    已采纳

    试了一个取巧的方法:
    再写一个bat文件,在bat文件里面再写你真正要运行的bat文件的调用。

    如我现在想要执行D:\JAVAAPI\test file文件下的一个test.bat文件,但因为test file这个文件夹命名时存在空格,所以执行不成功。

    在一个没有空格文件夹目录的地方写一个调用test.bat的文件,如callSomething.bat

    echo start
    "D:JAVAAPI\test file\test.bat" //此处要用""号,否则还是执行失败,报找不到文件错误
    pause

    这样在程序中就可以写:
    Runtime.getRuntime().exec("cmd /k start D:\JAVAAPI\callSomething.bat");

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • nilr 2013-09-29 01:19

    特意试了一下,空格应该是没有问题的。

    Process exec = Runtime.getRuntime().exec("cmd.exe /k start \"C:\\Program Files\\test.bat\"");
    
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题