如何使用java运行命令行或执行托管在远程Windows机器中的外部应用程序。
答案 0 :(得分:1)
除了Java之外,您还需要一个可以连接到远程Windows机器并执行命令的工具。 PsExec
就是这样一种效用。
有关详细信息,请参阅链接psexec.exe。
在上面的链接中,实用程序用法如下所述,cmd
是您希望执行的命令,而arguments是该命令的参数。
Usage: psexec [\\computer[,computer2[,...] | @file]][-u user [-p psswd][-n s][-r servicename][-h][-l][-s|-e][-x][-i [session]][-c [-f|-v]][-w directory][-d][-<priority>][-a n,n,...] cmd [arguments]
然后在Java中,你可以使用像
这样的东西 Process p = Runtime.getRuntime().exec(String[] cmdarray, String[] envp, File dir);
您可以将cmdarray
填充为cmdarray[0]="cmd.exe"
,cmdarray[1]="/C"
以在本地计算机上启动命令提示符,然后cmdarray[2]="psexec command String"
(此字符串必须按照上述用法构建)。
如果您的系统丢失了实用程序,则可以下载并安装该实用程序。
如果计划使用SSH
连接,则需要使用第三方API。
希望它有所帮助!!
信用转到Programmatically connecting to remote systems
另见this SO问题。