我有一个执行powershell脚本的java代码。我的参数位于我从用户那里获得的字符串数组中。
String sentence = clientinp.readUTF();
String[] parts = sentence.split(",");
每次执行代码时,如何将参数放入脚本? 我试过这段代码:
String command = "powershell.exe $Add-DnsServerResourceRecordA -ZoneName -Name -IPv4Address -TimeToLive";
但是我不知道如何将这个数组传递给powershell。我该怎么办?
答案 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()