java执行cmd命令带空格失败 5C

图片说明
java端执行cmd命令导入sql数据到mysql数据库,sql数据路径不带空格导入成功,但是带空格导入失败,参考网上的在路径两边加双引号不起作用,但是mysql的bin路径带双引号起作用。

4个回答

你把脚本写在一个.bat文件里,然后再java中调用这个文件

这是因为如果不加双引号的话cmd会把空格作为分隔符把文本分析为两个参数
这样写试试:"\"mysqlPath\""

mysqlPath = \'路径\'

cmd命令中 myqlPath中的空格,会解析成多个参数,所以你也可以把路径中的空格去掉,换一个没空格的路径

yuqixian
小小程序缘 mysqlPath是用来执行mysql命令的,加双引号没问题,但是后面的导入文件位置中带空格,导入失败,加双引号没用
大约一年之前 回复

Java代码
Runtime.getRuntime().exec("cmd.exe /c D:\Program Files\test\test.exe");
因为空格,执行失败

需要在空格的前后加上双引号,而不是在整个路径的前后加双引号,如下:
Runtime.getRuntime().exec("cmd.exe /c D:\Program\" \"Files\test\test.exe");
如此修改,执行成功

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐