[英]How do I pass second parameter from CMD (%2) into a PowerShell variable
我有一个名为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脚本的新手,所以我无法完全掌握答案。
有两种方法。 首先是使用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]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.