将参数从数组传递给powershell java程序

时间:2016-11-21 11:08:44

标签: java arrays powershell

我有一个执行powershell脚本的java代码。我的参数位于我从用户那里获得的字符串数组中。

String sentence = clientinp.readUTF();
            String[] parts = sentence.split(",");

每次执行代码时,如何将参数放入脚本? 我试过这段代码:

String command = "powershell.exe  $Add-DnsServerResourceRecordA -ZoneName -Name -IPv4Address -TimeToLive";

但是我不知道如何将这个数组传递给powershell。我该怎么办?

1 个答案:

答案 0 :(得分:0)

使用ProcessBuilder。您必须将每个参数(包括程序的路径)作为项目放入数组或列表,并将其传递给ProcessBuilder的构造函数。

例如:

String[] arguments = {"powershell.exe", "$Add-DnsServerResourceRecordA", "-ZoneName", "[your zone name]", "-Name", "[your name]", "-IPv4Address", "[your ipv4 address]", "-TimeToLive", "[your TTL]"};
ProcessBuilder processBuilder = new ProcessBuilder(arguments);
Process process = processBuilder.start();

作为替代方案,您可以使用Runtime.getRuntime().exec()