0

我正在尝试从 java 应用程序运行 cmder.exe。我正在使用 java ProcessBuilder 类,它适用于 cmd.exe,但不能适用于 cmder.exe。

这是我的代码:

    command =    "cd C:\\Users\\fxxx\\Documents\\plt 3.0\\git\\xxx-estatic";
    ProcessBuilder builder = new ProcessBuilder("C:\\PLT 3.0\\abc\\cmder_mini\\cmder.exe", "/start", command);

我想打开cmder命令提示符并运行“cd”命令。Cmder.exe 实际上已启动,但我收到“文件名、目录名或卷标语法不正确”错误消息,并且我的命令 (cd...) 从未执行。

同样,如果我使用 cmd.exe,一切都会完美运行。

有人知道如何从 java 应用程序有效地运行 cmder.exe 吗?

非常感谢。

4

1 回答 1

0

实时调频!

假设您使用该 cmder.exe,该文档指出:

Cmder.exe 命令行参数

Argument                Description
/C [user_root_path]     Individual user Cmder root folder. Example: %userprofile%\cmder_config
/SINGLE                 Start Cmder is single mode.
/START [start_path]     Folder path to start in.
/TASK [task_name]       Task to start after launch.

这意味着您的代码应该是:

path =    "cd C:\\Users\\fxxx\\Documents\\plt 3.0\\git\\xxx-estatic";
ProcessBuilder builder = new ProcessBuilder("C:\\PLT 3.0\\abc\\cmder_mini\\cmder.exe", "/start", path);
于 2018-07-11T12:43:53.033 回答