PowerShell は、コマンドライン バッチ ファイルを呼び出すことができます。PowerShell スクリプトの出力は、「tee」コマンドで記録できます。しかし、tee コマンドは、PowerShell 1 の PowerShell スクリプト内のバッチ ファイルの出力を記録しません。
このカットダウンの例を試してください:
test.batという内容のバッチ ファイルを作成します。
@echo hello from bat
PowerShell から実行します。
PS C:\> .\test.bat | tee out.txt
これは機能します-次を含む出力ファイルが作成されます
hello from bat
次に、バッチ ファイルをラップするtest.ps1というPowerShell スクリプトを作成します。
write-output "hello from PS"
.\test.bat
これをティーで実行します。
.\test.ps1 | tee pout.txt
これは、バッチ ファイルの出力を記録しません。出力ファイルには、
hello from PS
期待していたのに
hello from PS
hello from bat
ただし、バッチ出力はキャプチャされません。この PowerShell スクリプトと従属バッチ ファイルの出力をキャプチャするにはどうすればよいですか?