如何从开关或文件中获取参数

时间:2018-11-23 14:34:46

标签: powershell parameters

在开始编写脚本之前,我已经看到过需要主机名参数的Powershell脚本。可以通过键入Script.PS1 "hostname" 但您也可以通过以下方法运行脚本:

gc hostnames.txt | script.ps1

,通过这种方式,您可以在文本文件中列出许多主机名。

这是如何实现的。 我的参数如下

Param(
    [Parameter(Mandatory=$True)]
    [ValidateSet("C","K")]
    [ValidateNotNullorEmpty()]
    [String]$Action,

    [Parameter(Mandatory = $True)]
    [ValidateNotNullorEmpty()]
    [String]$Computers

    )

1 个答案:

答案 0 :(得分:1)

根据要求,您可以使用类似

的语法
gc hostnames.txt | % {  .\script.ps1 -Action A -Computers $_ }

,它将为script.ps1中的每一行调用一次hostnames.txt

$_是用... | % ...语法迭代的数组的当前值的占位符。