gpt4 book ai didi

java - 在 Java 中执行批处理文件时出现问题

转载 作者:行者123 更新时间:2023-12-01 16:40:45 24 4
gpt4 key购买 nike

我正在尝试在 Java 应用程序中执行批处理文件。代码如下:

Runtime.getRuntime().exec("cmd /C start C:/Documents and Settings/Zatko/My Documents/Project-Workspace/IUG/external/apps/archive/run-server.bat");

执行时,会出现一个错误对话框,提示“Windows 找不到 'C:/Documents'。请确保您正确输入了名称......”

当我使用相同的代码执行另一个批处理文件(名为 file.bat 并位于 C:/Temp 文件夹中)时,它运行良好......

有谁知道问题出在哪里吗?与空格字符有关吗?

提前致谢

最佳答案

编辑:

每当要启动的可执行文件的路径包含在“中”时,启动命令似乎都需要一个额外的参数。因为必须用“将包含空格的参数包围起来,这有点令人困惑,因为启动命令的工作方式在以下情况下除外:有一个没有空格的路径,因此不会用 "将其括起来。这就是我在文件夹 c:/temp 中测试下面的代码时发生的情况,并且它在没有附加参数的情况下工作。

负责的参数是打开的窗口的标题。它必须是第二个参数,如果它包含空格,则必须用 "包围。

我建议始终使用“作为标题和路径。

这是更新后的命令:

您需要附上

c:/Document and Settings/...

使用“作为文件名中包含空格。并且在使用带有“参数的启动命令时需要包含标题。

对于 Java 来说是:

Runtime.getRuntime().exec("cmd /C start \"Server\" \"C:/Documents and Settings/Zatko/My Documents/Project-Workspace/IUG/external/apps/archive/run-server.bat\"");

再见,盖德

关于java - 在 Java 中执行批处理文件时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3685587/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com