次の方法で共有


Clear-Content

アイテムの内容を削除しますが、アイテムは削除しません。

構文

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

説明

Clear-Content コマンドレットは、ファイルからテキストを削除するなど、アイテムの内容を削除しますが、アイテムは削除しません。 その結果、項目は存在しますが、空です。 Clear-ContentClear-Item と似ていますが、値を持つアイテムではなく、コンテンツを持つアイテムに対して機能します。

例 1: ディレクトリからすべてのコンテンツを削除する

Clear-Content "..\SmpUsers\*\init.txt"

このコマンドは、SmpUsers ディレクトリのすべてのサブディレクトリにある "init.txt" ファイルからすべてのコンテンツを削除します。 ファイルは削除されませんが、空です。

例 2: ワイルドカードを使用してすべてのファイルのコンテンツを削除する

Clear-Content -Path "*" -Filter "*.log" -Force

このコマンドは、現在のディレクトリにあるファイル名拡張子が ".log" のファイルすべて (読み取り専用属性を持つファイルを含む) の内容を削除します。 パス内のアスタリスク (*) は、現在のディレクトリ内のすべての項目を表します。 Force パラメーターを指定すると、読み取り専用ファイルでコマンドが有効になります。 フィルターを使用して、パスに *.log を指定する代わりに、ファイル名拡張子が .log のファイルにコマンドを制限すると、操作が高速になります。

例 3: ストリームからすべてのデータをクリアする

この例では、Clear-Content コマンドレットが代替データ ストリームからコンテンツをクリアし、ストリームをそのまま残す方法を示します。

最初のコマンドでは、 Get-Content コマンドレットを使用して、インターネットからダウンロードした Copy-Script.ps1 Zone.Identifier ファイル内の Zone.Identifier ストリームの内容を取得します。

2 番目のコマンドでは、Clear-Content コマンドレットを使用してコンテンツをクリアします。

3 番目のコマンドは、最初のコマンドを繰り返します。 コンテンツがクリアされていることを確認しますが、ストリームは残ります。 ストリームが削除された場合、コマンドによってエラーが生成されます。

このようなメソッドを使用して、代替データ ストリームのコンテンツをクリアできます。 ただし、インターネットからダウンロードされたファイルをブロックするセキュリティ チェックを排除する推奨される方法ではありません。 ダウンロードしたファイルが安全であることを確認する場合は、Unblock-File コマンドレットを使用します。

Get-Content C:\Test\Copy-Script.ps1 -Stream Zone.Identifier

[ZoneTransfer]
ZoneId=3

Clear-Content C:\Test\Copy-Script.ps1 -Stream Zone.Identifier
Get-Content C:\Test\Copy-Script.ps1 -Stream Zone.Identifier

パラメーター

-Confirm

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

型:SwitchParameter
Aliases:cf
配置:Named
規定値:False
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Credential

このパラメーターは、PowerShell でインストールされているプロバイダーではサポートされていません。 他のユーザーを偽装したり、このコマンドレットの実行時に資格情報を昇格したりするには、Invoke-Command を使用します。

型:PSCredential
配置:Named
規定値:Current user
必須:False
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-Exclude

文字列配列として、このコマンドレットがコンテンツへのパスから省略する文字列を指定します。 このパラメーターの値は、Path パラメーターを修飾します。 "*.txt" などのパス要素またはパターンを入力します。 ワイルドカードを使用できます。

型:String[]
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:True

-Filter

プロバイダーの形式または言語でフィルターを指定します。 このパラメーターの値は、Path パラメーターを修飾します。 ワイルドカードの使用を含むフィルターの構文は、プロバイダーによって異なります。 フィルターは、取得後に PowerShell でオブジェクトをフィルター処理するのではなく、オブジェクトの取得時にプロバイダーによって適用されるため、他のパラメーターよりも効率的です。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:True

-Force

ユーザーの確認を求めずにコマンドを強制的に実行します。

型:SwitchParameter
配置:Named
規定値:False
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Include

文字列配列として、このコマンドレットがクリアするコンテンツを指定します。 このパラメーターの値は、Path パラメーターを修飾します。 "*.txt" などのパス要素またはパターンを入力します。 ワイルドカードを使用できます。

型:String[]
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:True

-LiteralPath

コンテンツの削除元のアイテムへのパスを指定します。 Path パラメーターとは異なり、LiteralPath の値は、型指定されたとおりに使用されます。 ワイルドカードとして解釈される文字はありません。 パスにエスケープ文字が含まれている場合は、単一引用符で囲みます。 単一引用符は、エスケープ シーケンスとして文字を解釈しないように PowerShell を使用するように指示します。

型:String[]
Aliases:PSPath
配置:Named
規定値:None
必須:True
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-Path

コンテンツの削除元のアイテムへのパスを指定します。 ワイルドカードを使用できます。 パスは、コンテナーではなく、項目へのパスである必要があります。 たとえば、ディレクトリへのパスではなく、1 つ以上のファイルへのパスを指定する必要があります。 ワイルドカードを使用できます。 このパラメータは必須ですが、パラメータ名 ("Path") はオプションです。

型:String[]
配置:0
規定値:None
必須:True
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:True

-Stream

コンテンツの代替データ ストリームを指定します。 ストリームが存在しない場合は、このコマンドレットによって作成されます。 ワイルドカード文字はサポートされていません。

Stream は、FileSystem プロバイダーが Clear-Contentに追加する動的パラメーターです。 このパラメーターは、ファイル システム ドライブでのみ機能します。

Clear-Content コマンドレットを使用して、Zone.Identifier 代替データ ストリームの内容を変更できます。 ただし、インターネットからダウンロードされたファイルをブロックするセキュリティ チェックを排除する方法として、これはお勧めしません。 ダウンロードしたファイルが安全であることを確認する場合は、Unblock-File コマンドレットを使用します。

このパラメーターは、Windows PowerShell 3.0 で導入されました。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-UseTransaction

アクティブなトランザクションにコマンドを含みます。 このパラメーターは、トランザクションが進行中の場合にのみ有効です。 詳細については、about_transactionsを参照してください。

型:SwitchParameter
Aliases:usetx
配置:Named
規定値:False
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-WhatIf

コマンドレットを実行した場合の動作を示します。 コマンドレットは実行されません。

型:SwitchParameter
Aliases:wi
配置:Named
規定値:False
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

入力

None

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

出力

None

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

メモ

Clear-Content は、PowerShell FileSystem プロバイダーや、コンテンツを操作する他のプロバイダーと共に使用できます。 PowerShell 証明書またはレジストリ プロバイダーによって管理される項目など、コンテンツと見なされないアイテムをクリアするには、Clear-Itemを使用します。

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