【发布时间】:2018-04-04 08:46:43
【问题描述】:
我正在编写一个程序,其中一个功能是单击表格中带有用户计算机名称的单元格,在命令行中,调用外部程序以远程连接到计算机。该命令如下所示:
"C:\Program Files\Vnc\MegaVNC\vncviewer.exe" /user vncadmin /password xxxxxx /server comp-01
“C:\Program Files\Vnc\MegaVNC\vncviewer.exe”是文件的位置,“/user vncadmin /password xxxxxx /server comp-01”参数。请注意,参数是不带引号的。 当您从命令行调用此命令时,一切正常。
我的 ProcessBuilder 代码:
ProcessBuilder pb = new ProcessBuilder("C:/Program Files/Vnc/MegaVNC/vncviewer.exe ", "/user vncadmin /password xxxxxx /server comp-01").start();
但它不起作用。如果删除参数,则打开被调用程序。但是当使用参数初始化时,程序本身会挂在参数上并且连接崩溃。 我尝试了以下方法:
ProcessBuilder pb = new ProcessBuilder("C:/Program Files/Vnc/MegaVNC/vncviewer.exe", "/user vncadmin ", "/password xxxxxx ", "/server comp-01").start();
它也不起作用。我猜问题出在斜杠或空格的错误解释编译器中。有什么想法吗?
【问题讨论】:
-
试试
"/user", "vncadmin", "/password", "xxxxxx", "/server", "comp-01"。
标签: java command-line processbuilder