如何将参数传递给PowerShell脚本中的命令?

时间:2016-11-05 09:25:53

标签: java powershell

我想从PowerShell脚本中执行Java命令:java -jar cli.jar <arg> <arg>。如何将传递给PowerShell脚本的命令行参数传递给脚本中的Java命令?

3 个答案:

答案 0 :(得分:6)

如果要将命令行参数传递给powershell脚本,可以使用$args(此内置变量将包含命令行中传递的参数)

foreach ($arg in $args) {
    "cli argument " + $arg
}

答案 1 :(得分:1)

当您像调用程序一样调用程序时,您的应用程序将收到三个参数,即:

  • DIR
  • -t
  • I:\应用

编写应用程序时,通常会编写一个main方法,它采用如下的arg数组:

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

为了回答你的问题,args数组现在包含你的三个参数。因此,如果您将主要方法更改为:

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

您将在命令行上看到输入参数。

答案 2 :(得分:1)

解决方案1 ​​

您的脚本ps1

    param (
        [string[]]$ListParam
    )

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

    start-process  "java"  -ArgumentList $ListParamAll

如何调用此脚本:

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