我正在尝试从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吗?
非常感谢。
答案 0 :(得分:0)
RTFM!
假设您使用that 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);