日期:2014-05-17  浏览次数:21642 次

cmd命令执行bat文件目录和参数都带有空格执行出错怎么解决
在java里面调用cmd命令Runtime.getRuntime().exec()执行bat文件,并且传入了参数,bat文件目录带有空格,并且参数也带有空格,执行错误,怎么解决

------解决方案--------------------
路径加上引号
不管路径有没有都加上引号(即半角的"")

cd "C:\Program Files"
------解决方案--------------------
引用:
如果只有文件没带参数的话,可以使用replaceAll(" ", "\" \""),可是参数也有空格,此方法无效,不知怎么办


命令 "路径" "参数1" "参数2"

"c:/test bat/test.bat" "a b" "c d"

也就是说在最外边加上引号
而不是把空格替换为 " "
------解决方案--------------------
看下这样行不
C:\Documents and Settings\Administrator>start d://ffmpeg//ffmpeg.bat "D:\\Program
 Files\\Apache Software Foundation\\Tomcat 6.0\\webapps\\upload\\course\\video\\test.mp
4" "D:\\Program Files\\Apache Software Foundation\\Tomcat 6.0\\webapps\\upload\\course
\\images\\aa.jpg"

------解决方案--------------------
引用:
Quote: 引用:

看下这样行不
C:\Documents and Settings\Administrator>start d://ffmpeg//ffmpeg.bat "D:\\Program
 Files\\Apache Software Foundation\\Tomcat 6.0\\webapps\\upload\\course\\video\\test.mp
4" "D:\\Program Files\\Apache Software Foundation\\Tomcat 6.0\\webapps\\upload\\course
\\images\\aa.jpg"
这样还是不行,提示 no such file or directory


那没辙了
你可以在 no such file or directory 这个异常的地方把 路径打印出来
或者在程序接收到参数的时候就把参数打印出来 看路径是否解接收正确 
如果打印的路径确实无误,就检查该文件是否存在(这个应该不可能把)