在某些场景下,需要在Java程序中使用Powershell进行终端交互,这种情况下当然可以直接使用自带的Runtime来完成:
Runtime.getRuntime().exec("powershell.exe Get-Item");
但是这种只适合需要单条指令的情况,而存在多条指令时,无法保证前后指令的关联性。这里介绍一个第三方的类库:jPowershell
Maven中引入如下依赖:
com.profesorfalken
jPowerShell
3.1.1
接下来,在程序中就可以通过如下方式获取到一个Powershell的实例:
PowerShell session = PowerShell.openSession();
PowerShell对象提供了如下的基础方法:
configuration(Map arg0)
指定配置对象
void
修改默认配置时使用
openSession()
PowerShell
启动一个PowerShell会话
openSession(String arg0)
指定PowerShell终端的路径
PowerShell
启动一个PowerShell会话
executeCommand(String arg0)
Powershell指令
PowerShellResponse
执行一条PowerShell指令
executeSingleCommand()
Powershell指令
PowerShellResponse
执行单一PowerShell指令(无会话模式)
executeCommandAndChain(String arg0,PowerShellResponseHandler.. arg1)
P