2016-11-21 16 views
0

私はpowershellスクリプトを実行するjavaコードを持っています。私のパラメータは、私がユーザーから得た文字列配列です。配列からpowershell javaプログラムにパラメータを渡す

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

コードを実行するたびにスクリプトにパラメータを設定する必要はありますか? 私はこのコードを試してみました:

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

をしかし、私はpowershell.Whatに、この配列は、私が何をすべき渡すことができるのか分からないのですか?

+0

を使用することができます別の方法として

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(); 

'' powershell.exe $ Add-DnsServerResourceRecordA "+ parts [0] +" ... "+ parts [...];' – px06

+0

[リンク] http://stackoverflow.com/questions/29545611/executing-あなたが助けてくれるでしょう – Onkar

+0

@ px06はい私は確信しています.iはこれを試してください: "powershell.exe $ Add-DnsServerResourceRecordA + parts [0] + pa rts [1] "; "$ Add-DnsServerResourceRecordA"の末尾はありませんか? – sara

答えて

0

ProcessBuilderを使用してください。各パラメータ(プログラムへのパスを含む)を配列またはリストに項目として入れ、それをコンストラクタProcessBuilderに渡す必要があります。例えば

:あなたが入力パラメータは、あなたがそれらを必要とする正確な順序であなたは、単に行うに要素を求めることができますされていることを確認してきた場合は、Runtime.getRuntime().exec()

関連する問題