PowerShell管道或输入参数

时间:2016-09-29 08:04:02

标签: powershell

我无法在任何地方找到这个问题的答案。

如何在文件中编写PowerShell脚本(据我所知,它不能成为允许直接流水线到脚本的函数),以接受管道输入文件输入参数?必须满足以下条件:

  • 其中任何一项都必须是强制性的;
  • 只有在接收到所有数组输入后才能处理管道输入;
  • 输入参数是一个文件,必须验证路径;
  • 第二个可选参数指定输出文件。

我们的想法是在cat file | <command> [-o out]<command> -f file [-o out]中实现与标准Linux命令类似的行为,在PowerShell中cat file | .\script.ps1 [-OutFile out].\script.ps1 -File file [-OutFile out]

1 个答案:

答案 0 :(得分:1)

你可以有这样的脚本:

param([string]$Path)

if (!Path) {
  $scriptInput = $input
} else {
  $scriptInput = Get-Content $Path
}

# Do something with $scriptInput

检查管道输入是否有参数作为练习。