我有一个名为test.bat
的文件。
它包含对PowerShell脚本(Process.ps1)的调用,如下所示:
Powershell.exe -File %1
其中%1
是我将在命令行中传递的PowerShell文件的名称。
从本质上讲,它在命令行上看起来像这样:
e:> test.bat Process.ps1
现在,脚本可以正常运行了。但是,我需要在批处理文件(test.bat)中传递第二个参数(%2),所以它看起来像这样:
Powershell.exe -File %1 %2
%1是Process.ps1
%2将是某个多维数据集名称(即CUBE1)
因此在CMD上最终看起来像这样:
e:> test.bat Process.ps1 CUBE1
现在,如何将第二个参数(CUBE1)传递到PowerShell脚本(Process.ps1)中声明的变量($CUBE
)中?
我在论坛上进行了研究,但找不到像我自己的案例那样的例子。
这可能是我很想念的很简单的东西,但是我是PowerShell / batch脚本的新手,所以我不太想知道答案。
答案 0 :(得分:0)
有两种方法。首先是使用Parameter
声明:
Param(
[Parameter(mandatory)]
[String]
$first,
[Parameter(mandatory)]
[String]
$second
)
Write-Output "First argument: " $first
Write-Output "First argument: " $second
第二个是内置的$args
变量:
Write-Output "First argument: " $args[0]
Write-Output "Second argument: " $args[1]