将用户输入添加到Select-String命令

时间:2018-05-14 18:11:06

标签: powershell while-loop select-string

我目前正在尝试创建一个select-string命令来确定我公司的用户是否仍然出现在某些目录中。我当前的命令如下:

Select-String -path "C:\filepath\*.csv" -Pattern "<string>" |
    Format-Table -Property LineNumber,Line,Path -Wrap |
    Out-File "C:\outfile.txt"

当前命令意味着每次运行脚本之前我都需要更改Pattern参数的内容。我想要做的是在运行脚本时请求输入字符串。我是否可以添加一个while循环来请求用户输入?

由于

1 个答案:

答案 0 :(得分:1)

将其添加到脚本的开头:

Param(
    [Parameter(Mandatory = $True)]
    [System.String]
    $Pattern
)

Select-String -Path C:\filepath\*.csv -Pattern $Pattern |
    Tee-Object -FilePath C:\outfile.txt |
    Format-Table -Property LineNumber, Line, Path -Wrap

当您调用脚本时,该属性会确保您为-Pattern提供参数。如果您希望此属性不为空([ValidateNotNullOrEmpty()])等,则可以添加更多属性。

顺便说一句,从不管格式化。