1. ホーム
  2. powershell

[解決済み】PowerShellの実行中にその出力をファイルにリダイレクトする方法

2022-04-03 09:41:22

質問

PowerShellスクリプトで、出力をファイルにリダイレクトしたい。問題は、このスクリプトが呼び出される方法を変更できないことです。そのため、私はそれを行うことができません。

 .\MyScript.ps1 > output.txt

PowerShellスクリプトの実行中に、その出力をリダイレクトするにはどうすればよいですか?

どのように解決するのですか?

たぶん Start-Transcript を使えば、うまくいくと思います。 まず、すでに実行されている場合は停止し、次に起動し、終了したら停止します。

$ErrorActionPreference="SilentlyContinue"
ストップトランスクリプト|out-null
ErrorActionPreference = "Continue"。
Start-Transcript -path C:\output.txt -append
# 何かをする
ストップ-トランスクリプト

また、作業中にこのコマンドを実行し、後で参照できるようにコマンドラインセッションを保存しておくこともできます。

もし、転写中でない転写物を停止しようとしたときのエラーを完全に抑制したい場合は、このようにすることができます。

$ErrorActionPreference="SilentlyContinue"
Stop-Transcript | out-null
$ErrorActionPreference = "Continue" # or "Stop"