Atiiiii Ответов: 2

Передача параметра из массива в Java-программу powershell


У меня есть java-код, который выполняет сценарий powershell.Мои параметры находятся в строковом массиве, который я получил от пользователя.
String sentence = clientinp.readUTF();
                 String[] parts = sentence.split(",");


Что я уже пробовал:

Как я должен вводить параметры в скрипт каждый раз, когда я выполняю код? Я попробовал этот код:
String command = "powershell.exe  $Add-DnsServerResourceRecordA -ZoneName -Name -IPv4Address -TimeToLive";

Но я не знаю, как передать этот массив в powershell. Что же мне делать?

2 Ответов

Рейтинг:
20

Jochen Arndt

Используйте Форматер (Java Platform SE 7 )[^] для построения строки с параметрами.

Пример:

String command = String.format("powershell.exe  $Add-DnsServerResourceRecordA -ZoneName %1$s -Name %2$s -IPv4Address %3$s -TimeToLive %4$s", parts[0], parts[1], parts[2], parts[3]);

Обратите внимание, что вышесказанное может быть не тем, что вы хотите, потому что вы не указали, что такое вход и соответствует ли он параметрам, ожидаемым Add-DnsServerResourceRecordA командлет.


Atiiiii

Я очень ценю вашу помощь, она отлично работала без первого $ перед Add-DnsServerResourceRecordA

Jochen Arndt

Я скопировал и вставил его с вашего поста, но должен был заметить, что он должен быть удален.

Спасибо вам за ваши отзывы и принятие решения.

Atiiiii

да, я тоже сначала этого не заметил,большое вам спасибо :)
могу я связаться с вами?

Jochen Arndt

Если вам нужна дополнительная помощь, вы должны просто опубликовать новые вопросы. Тогда вы, вероятно, получите более быструю и качественную помощь, потому что вопросы будут замечены большим количеством людей.
Особенно для Java, потому что я знаю ее совсем немного.

Atiiiii

хорошо, спасибо за ваше руководство

Рейтинг:
1

Richard MacCutchan

Сегодня утром я дал вам ссылку на документацию: Как установить параметры сценария powershell[^]. Вы пробовали?


Atiiiii

Я не мог открыть вашу ссылку, потому что она была фильтрована для меня (я иранец и у меня нет к ней доступа)
Но спасибо за вашу помощь :)