繁体   English   中英

如何将CMD(%2)中的第二个参数传递到PowerShell变量中

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM