Clear-Content

ファイルからテキストを削除するなど、項目の内容を削除します。ただし、項目自体は削除しません。

構文

Clear-Content [-LiteralPath] <string[]> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParameters>]

Clear-Content [-Path] <string[]> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParameters>]

説明

Clear-Content コマンドレットは、ファイルからテキストを削除するなど、項目の内容を削除します。ただし、項目自体は削除しません。その結果、項目は残りますが、空になります。Clear-Content は Clear-Item に似ていますが、エイリアスや変数に対してではなくファイルに対して使用します。

パラメーター

-Credential <PSCredential>

この処理を実行するアクセス許可を持つユーザー アカウントを指定します。既定値は現在のユーザーです。

"User01" や "Domain01\User01" のようなユーザー名を入力するか、Get-Credential コマンドレットで生成されるような PSCredential オブジェクトを入力します。ユーザー名を入力すると、パスワードの入力を促すメッセージが表示されます。

このパラメーターは、Windows PowerShell でインストールされるプロバイダーではサポートされていません。

必須

false

位置

named

既定値

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

true (ByPropertyName)

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

false

-Exclude <string[]>

指定した項目を除外します。このパラメーターの値は、Path パラメーターを修飾します。"*.txt" などのパス要素またはパターンを入力します。ワイルドカードを使用できます。

必須

false

位置

named

既定値

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

false

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

false

-Filter <string>

プロバイダーの形式や言語でフィルターを指定します。このパラメーターの値は、Path パラメーターを修飾します。ワイルドカードを使用できるかどうかなど、フィルターの構文はプロバイダーによって異なります。フィルターは他のパラメーターよりも効率が良い方法です。これは、オブジェクトを取得した後に Windows PowerShell がオブジェクトをフィルターするのではなく、オブジェクトを取得する際にプロバイダーがフィルターを適用するためです。

必須

false

位置

named

既定値

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

false

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

false

-Force

ファイルが読み取り専用であっても、ファイルの内容をコマンドレットによってクリアできるようにします。実装はプロバイダーごとに異なります。詳細については、「about_Providers」を参照してください。Force パラメーターを使用しても、コマンドレットはセキュリティ制限を上書きできません。

必須

false

位置

named

既定値

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

false

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

false

-Include <string[]>

指定した項目だけを削除します。このパラメーターの値は、Path パラメーターを修飾します。"*.txt" などのパス要素またはパターンを入力します。ワイルドカードを使用できます。

必須

false

位置

named

既定値

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

false

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

false

-LiteralPath <string[]>

内容を削除する項目へのパスを指定します。Path と異なり、LiteralPath の値は入力したとおりに使用されます。ワイルドカードとして解釈される文字はありません。パスにエスケープ文字が含まれている場合は、単一引用符で囲みます。単一引用符で囲んだ文字はエスケープ シーケンスとして解釈されません。

必須

true

位置

1

既定値

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

true (ByPropertyName)

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

false

-Path <string[]>

内容を削除する項目へのパスを指定します。ワイルドカードを使用できます。コンテナーのパスではなく、項目のパスを指定してください。たとえば、ディレクトリのパスではなく、1 つ以上のファイルのパスを指定する必要があります。ワイルドカードを使用できます。このパラメーターは必須ですが、パラメーター名 (Path) は省略可能です。

必須

true

位置

1

既定値

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

true (ByPropertyName)

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

false

-Confirm

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

必須

false

位置

named

既定値

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

false

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

false

-WhatIf

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

必須

false

位置

named

既定値

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

false

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

false

-UseTransaction

コマンドを有効なトランザクションに含めます。このパラメーターは、トランザクションの進行中のみ有効です。詳細については、「about_Transactions」を参照してください。

必須

false

位置

named

既定値

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

false

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

false

<CommonParameters>

このコマンドレットは、次の共通パラメーターをサポートします: -Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer、および -OutVariable。詳細については、次を参照してください: about_Commonparameters.

入力と出力

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

入力

なし

パイプを使用してオブジェクトを Clear-Content に渡すことはできません。

出力

なし

このコマンドレットはオブジェクトを返しません。

Clear-Content は、その組み込みエイリアスである "clc" で参照することもできます。詳細については、「about_Aliases」を参照してください。

パラメーター名 -Path を省略する場合は、Path の値をコマンドの先頭で指定する必要があります。たとえば、"clear-content c:\mydir\*.txt" などです。このパラメーター名を指定する場合、パラメーターは任意の順序でリストできます。

Clear-Content は、Windows PowerShell の File System プロバイダーや、内容を操作するその他のプロバイダーで使用できます。Windows PowerShell Certificate プロバイダーや Registry プロバイダーで管理されている項目など、内容と見なされない項目をクリアする場合は Clear-Item を使用してください。

Clear-Content コマンドレットは、プロバイダーによって公開されているデータを使用するように設計されています。セッションで使用可能なプロバイダーの一覧を表示するには、「Get-PsProvider」と入力します。詳細については、「about_Providers」を参照してください。

例 1

C:\PS>clear-content ..\SmpUsers\*\init.txt

説明
-----------
このコマンドを実行すると、SmpUsers ディレクトリのすべてのサブディレクトリにある init.txt ファイルからすべての内容が削除されます。ファイル自体は削除されず、空になります。





例 2

C:\PS>clear-content -path * -filter *.log -force

説明
-----------
このコマンドを実行すると、読み取り専用属性が指定されているファイルを含め、現在のディレクトリ内で、拡張子が ".log" であるすべてのファイルから内容が削除されます。パス中のアスタリスク (*) は、現在のディレクトリのすべての項目を表します。force パラメーターを指定しているので、読み取り専用ファイルに対してもこのコマンドが実行されます。パス中で "*.log" と指定するよりも、フィルターを使用して、このコマンドの実行対象を ".log" ファイル名拡張子だけに制限した方が、動作が速くなります。





例 3

C:\PS>clear-content c:\Temp\* -Include Smp* -Exclude *2* -whatif

説明
-----------
このコマンドは、コマンド "clear-content c:\temp\* -include smp* -exclude *2*" を実行した場合に、どのような結果になるかを予測するよう要求します。予測結果として、削除されるファイルの一覧が表示されます。この場合は、Temp ディレクトリに配置されており、名前が "Smp" で始まるファイルのうち、ファイル名に "2" が含まれないすべてのファイルが表示されます。コマンドを実行するには、whatif パラメーターを指定せずにコマンドを再度実行します。





関連項目

概念

about_Providers
Get-Content
Set-Content
Add-Content
Get-Item