如何使用Java在远程Windows机器上执行命令

时间:2016-05-24 06:56:48

标签: java

如何使用java运行命令行或执行托管在远程Windows机器中的外部应用程序。

1 个答案:

答案 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问题。