ファイルに出力を送ります。

構文

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

説明

Out-File コマンドレットは、出力をファイルに送ります。パラメーターを使用する必要がある場合は、リダイレクション演算子 (>) の代わりにこのコマンドレットを使用できます。

パラメーター

-Append

出力を既存のファイルの内容に置き換えるのではなく、ファイルの末尾に追加します。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-Encoding <string>

ファイルで使用する文字エンコードの種類を指定します。指定可能な値は、Unicode、UTF7、UTF8、UTF32、ASCII、BigEndianUnicode、Default、および OEM です。既定値は Unicode です。

Default を指定した場合、システムの現在の ANSI コード ページのエンコードが使用されます。

OEM を指定した場合は、オペレーティング システムの現在の OEM コード ページ識別子が使用されます。

必須

false

位置

2

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-FilePath <string>

出力ファイルのパスを指定します。

必須

true

位置

1

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-Force

コマンドレットが既存の読み取り専用ファイルを上書きするのを許可します。Force パラメーターを使用しても、コマンドレットはセキュリティ制限を上書きできません。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-InputObject <psobject>

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

必須

false

位置

named

既定値

パイプライン入力を許可する

true (ByValue)

ワイルドカード文字を許可する

false

-NoClobber

既存のファイルを上書きしません (内容を置き換えません)。既定では、指定したパスにファイルが存在する場合、Out-File は警告なしにファイルを上書きします。Append と NoClobber の両方が指定されている場合、出力は既存ファイルに追加されます。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-Width <int>

出力行の文字数を指定します。この文字数を超えた場合、それ以降の文字は折り返されずに切り捨てられます。このパラメーターを省略した場合、行の幅はホストの特性で決定されます。Windows PowerShell コンソールの既定値は 80 (文字) です。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-確認

コマンドを実行する前に確認メッセージを表示します。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-WhatIf

実際にコマンドを実行せずに、コマンドを実行すると何が起きるかを出力します。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

<CommonParameters>

このコマンドレットは、次の共通パラメーターをサポートします: -Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer、および -OutVariable。Ô”¼š¤Ë¤Ä¤¤¤Æ¤Ï¡¢次を参照してください: about_Commonparameters.

入力と出力

入力値の型は、コマンドレットへのパイプが可能なオブジェクトの型です。戻り値の型は、コマンドレットによって返されるオブジェクトの型です。

入力

System.Management.Automation.PSObject

パイプを使用して、あらゆるオブジェクトを Out-File に渡すことができます。

出力

なし

Out-File は出力を生成しません。

Out コマンドレットはオブジェクトを書式設定しません。オブジェクトをレンダリングし、指定された表示先に送るだけです。書式設定されていないオブジェクトを Out コマンドレットに送ると、Out コマンドレットはこのオブジェクトをレンダリングする前に書式設定用コマンドレットに送ります。

Out コマンドレットには、名前またはファイル パス用のパラメーターがありません。Out という動詞を含むコマンドレット (Out コマンドレット) にデータを送るには、Windows PowerShell コマンドの出力をコマンドレットに送るパイプライン演算子 (|) を使用します。InputObject パラメーターを使用すると、変数に保存したデータをコマンドレットに渡すこともできます。ヘルプについては、例を参照してください。

Out-File はデータを送りますが、出力オブジェクトは作成しません。パイプを使用して Out-File の出力を Get-Member に渡すと、Get-Member はオブジェクトが指定されていないと報告します。

例 1

C:\PS>get-process | out-file -filepath C:\Test1\process.txt

説明
-----------
このコマンドは、コンピューター上のプロセスの一覧を Process.txt ファイルに送ります。指定したファイルが存在しない場合、Out-File によってそのファイルが作成されます。FilePath パラメーターの名前はオプションであるため、"get-process | outfile C:\Test1\process.txt" のように省略することができます。






例 2

C:\PS>get-process | out-file C:\Test1\process.txt -noclobber

Out-File : File C:\Test1\process.txt already exists and NoClobber was specified.
At line:1 char:23
+ get-process | out-file  <<<< process.txt -noclobber

説明
-----------
このコマンドもプロセスの一覧を Process.txt ファイルに送りますが、既存のファイルの上書きを禁止する NoClobber パラメーターを使用しています。出力にはエラー メッセージが含まれていますが、これは NoClobber と既存のファイルが使用されたときに表示されます。






例 3

C:\PS>$a = get-process

C:\PS> out-file -filepath C:\Test1\process.txt -inputobject $a -encoding ASCII -width 50

説明
-----------
これらのコマンドは、コンピューター上のプロセスの一覧を Process.txt ファイルに送ります。テキストは、Findstr や Grep のような検索プログラムで読み込むことができるように ASCII 形式でエンコードされます。Out-File では、既定で Unicode 形式が使用されます。

最初のコマンドは、プロセスの一覧を取得し、$a 変数に保存しています。2 番目のコマンドは、Out-File コマンドレットを使用して、一覧を Process.txt ファイルに送ります。

InputObject パラメーターを使用して、入力が $a 変数に保存されていることを指定します。Encoding パラメーターを使用して、出力を ASCII 形式に変換します。Width パラメーターを使用して、ファイルの各行を 50 文字に制限します。出力行では 51 文字以降は切り捨てられるため、プロセスの表の右端の列は表示されません。






例 4

C:\PS>set-location hklm:\software

c:\PS>get-acl mycompany\mykey | out-file -filepath c:\ps\acl.txt

c:\PS>get-acl mycompany\mykey | out-file -filepath filesystem::acl.txt

説明
-----------
これらのコマンドは、FileSystem ドライブ以外で Out-File コマンドレットを使用する方法を示しています。

最初のコマンドは、現在の場所を HKLM:\Software レジストリ キーに設定します。

2 番目および 3 番目のコマンドは、同じ結果になります。Get-Acl コマンドレットを使用して、MyKey レジストリ サブキー (HKLM\Software\MyCompany\MyKey) のセキュリティ記述子を取得します。結果はパイプライン演算子によって Out-File コマンドレットに渡され、次に Acl.txt ファイルに渡されます。

Out-File は Windows PowerShell レジストリ プロバイダーによってサポートされていないため、FilePath パラメーターの値として、"c:" などのファイル システム ドライブ名か、"FileSystem::" のようにプロバイダー名と 2 つのコロンを指定する必要があります。このメソッドの例が 2 番目および 3 番目のコマンドです。






関連項目




目次