2016-09-29 14 views
0

どこでもこの質問に対する回答が見つかりませんでした。PowerShellパイプラインまたは入力引数

どのようにPowerShellスクリプトをファイルに書き込むことができますか(私が理解したように、スクリプトに直接パイプラインを許可する機能ではない)は、ファイル入力引数のまたはを受け入れるようにすることができますか?次の基準を満たす必要があります。

  • いずれかが必須である必要があります。
  • パイプライン入力は、すべての入力を配列に受け取った後にのみ処理されます。
  • 入力引数はファイルであり、パスを検証する必要があります。
  • 2番目のオプション引数は出力ファイルを指定します。

アイデアは、標準のLinuxは、PowerShellがcat file | .\script.ps1 [-OutFile out].\script.ps1 -File file [-OutFile out]であることで、cat file | <command> [-o out]または<command> -f file [-o out]のようにコマンドに類似した動作を実現することです。

param([string]$Path) 

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

# Do something with $scriptInput 

引数はあなたのための運動として残っているパイプライン入力またはのいずれかのチェック:

+0

ジョーイの答えをご覧ください。あなたはその質問を理解するでしょう。 – dfernan

答えて

1

は、あなたは、このようなスクリプトを持つことができます。

+0

これはうまくいくようですが、2番目のオプションの引数が追加され、パイプラインメソッドが使用されると、ブレーク(入力オブジェクトはどのパラメータにもバインドできません)。出力ファイルを指定する2番目の引数の必要性を反映するために質問を編集しました。 – dfernan

関連する問題