2016-11-05 4 views
-2

Я хочу выполнить сценарий из командной строки, такой как: command.ps1, и передать аргументы команде внутри скрипта powershell command.ps1: java -jar cli.jar.Передача нескольких аргументов одной команде внутри powershell

Как это можно сделать?

+0

Какой у Вас вопрос? Как написать скрипт powershell, который вызывает java-программу? Или как эта Java-программа может реагировать на предоставленные ей аргументы? – GhostCat

+1

Я думаю, что вопрос заключается в том, как передать аргументы, переданные вызывающим скриптом, в исполняемую программу java. –

ответ

1

Если вы хотите передать командной строки аргументы Powershell скрипт, вы можете использовать $ арг (это встроенная переменная будет содержать аргументы, передаваемые в командной строке)

foreach ($arg in $args){ 

"cli argument " + $arg 

} 
0

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

  • реж
  • -t
  • я: \ приложение

Когда вы пишете приложение, вы обычно пишете основной метод, который принимает такой массив аргументов:

public static void main (String[] args) 
{ 
    // code 
} 

Чтобы ответить на ваш вопрос, массив args теперь будет содержать ваши три параметра. Поэтому, если вы измените свой основной метод на:

public static void main (String[] args) 
{ 
    for (String arg : args) System.out.println(arg); 
} 

Вы увидите свои входные параметры в командной строке.

0

Решение 1

ваш сума ps1

param (
     [string[]]$ListParam 
    ) 

    [string[]]$ListParamAll= "-jar", "cli.jar" 
    $ListParamAll+=$ListParam 

    start-process "java" -ArgumentList $ListParamAll 

, как называют этот сценарий

cli.ps1 -ListParam dir,-t,i:\app 
0

раствор 2

ваш сума ps1

param (
    [string]$MyParam 
) 

[string[]]$ListParamAll= "-jar", "cli.jar" 
$ListParamAll+=($MyParam -split " ") 

start-process "java" -ArgumentList $ListParamAll 

, как называют этот сценарий

cli.ps1 -MyParam "dir,-t,i:\app" 
Смежные вопросы