在控制台中使命令末尾不带\“

时间:2019-04-20 22:52:24

标签: java

我想打开一个控制台窗口,并根据字符串输入所需的任何命令,该字符串取决于我输入的内容。问题在于,由于CMDs参数中的最后一个/,没有带有/或\的命令可以正常工作。

我尝试删除和更改参数,但是CMD那时将无法正常运行。

Runtime.getRuntime().exec("cmd /c start cmd.exe /K" + command + "\""); 

我希望能够运行任何命令(从命令字符串开始),甚至包括C的命令\\都包含/或\

1 个答案:

答案 0 :(得分:0)

包含 斜杠或反斜杠的命令在您的代码中可以正常工作,而末尾没有多余的\",例如c:\windows\system32\winverc:/windows/system32/winver

C:\不起作用,因为这不是有效的CMD命令,如果不是内置命令(如cdsetif)或{{ 1}}(或drive:)必须是程序({{1})的文件名(路径名或在:label上搜索的简单名称)。 }或旧版本%PATH%上),或者与某个程序相关联,或者是.exe文件。如果以交互方式运行CMD并输入.com,则它将失败,并且从Java传递相同的内容将使其无法更好地工作。

在“以前搜索运行”框中,它是有效的“命令”,或者是.bat命令。它们故意接受一些不是程序的东西,并弄清楚如何“打开”它们-尤其是它们通过运行资源管理器“打开”诸如C:\之类的目录名称。使用您的代码运行start确实可以。