PowerShell ログファイルを出力する(Out-File構文)

PowerShell

この記事では、Powershellを使用してログファイルを出力する方法について説明します。

ログの出力方法

ファイルに文字列を出力するには、「Out-File」コマンドレットを使用します。

Out-File構文

Out-File [-FilePath] <string> [[-Encoding] <string>] [-Append] [-Force] [-InputObject <psobject>] [-NoClobber] [-Width <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

-FilePathパラメータ

出力するファイルのパスを指定します。「-FilePath」は省略可能です。

-Encodingパラメータ

ファイルで使用する文字エンコードの種類を指定します。既定値は utf8NoBOM です。
以下の値を指定できます。

説明
ascii ASCII (7 ビット) 文字セットのエンコードを使用します。
bigendianunicode ビッグ エンディアンバイト順を使用して UTF-16 形式でエンコードします。
bigendianutf32 ビッグ エンディアンバイト順を使用して UTF-32 形式でエンコードします。
oem MS-DOS およびコンソール プログラムの既定のエンコードを使用します。
unicode リトル エンディアンバイト順を使用して UTF-16 形式でエンコードします。
utf7 UTF-7 形式でエンコードします。
utf8 UTF-8 形式でエンコードします。
utf8BOM バイト オーダー マーク (BOM) を使用して UTF-8 形式でエンコードします。
utf8NoBOM バイト オーダー マーク (BOM) を使用せずに UTF-8 形式でエンコードします。
utf32 UTF-32 形式でエンコードします。

-Appendパラメータ

出力するテキストファイルに追記する場合に指定します。

-Forceパラメータ

読み取り専用属性をオーバーライドし、既存の読み取り専用ファイルを上書きします。

-InputObjectパラメータ

ファイルに書き込むオブジェクトを指定します。 オブジェクトが格納されている変数を入力するか、オブジェクトを取得するコマンドまたは式を入力します。

-NoClobberパラメータ

既存のファイルが上書きされないようにし、ファイルが既に存在することを示すメッセージを表示します。 既定では、指定したパスにファイルが存在する場合は、 Out-File 警告なしでファイルを上書きします。

-Widthパラメータ

出力の各行の最大文字数を指定します。 これを超過する文字は、折り返されることなく切り捨てられます。 このパラメーターを使用しない場合、幅はホストの特性によって決まります。 PowerShell コンソールの既定値は 80 文字です。

-Confirmパラメータ

コマンドレットの実行前に確認を求めるメッセージが表示されます。

-WhatIfパラメータ

コマンドレットの実行時に発生する内容を示します。

使用例

S> "Power Shell!" | Out-File -FilePath C:\temp\new.log -Encoding utf8

ファイルが作成されます。

メモ帳

 

ログファイル出力関数

ログファイルを出力する関数の例です。 

$LOGFILE = "C:\temp\new.log"
function logwrite($str)
{
	$str = (Get-Date).ToString("yyyy/MM/dd HH:mm:ss") + ":" + $str
	$str|Out-File -Append $LOGFILE -Encoding utf8
}

logwrite("【情報】ログを出力します。")

ファイルが作成されます。

メモ帳

まとめ

今回はPowerShellでログファイルを出力する方法について説明しました。

 

タイトルとURLをコピーしました