-2

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

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

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

谢谢

4

1 回答 1

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. 如果您希望它不为 null ( [ValidateNotNullOrEmpty()]) 等, 您可以添加更多属性。

顺便说一句,永远不要从格式化程序中管道。

于 2018-05-14T18:29:34.157 回答