Clear-Content
項目の内容を削除します。項目自体は削除しません。
構文
Clear-Content
[-Path] <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-Stream <String>]
[<CommonParameters>]
Clear-Content
-LiteralPath <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-Stream <String>]
[<CommonParameters>]
Clear-Content
[-Path] <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Clear-Content
-LiteralPath <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
説明
Clear-Content
コマンドレットは、ファイルからテキストを削除するなど、アイテムの内容を削除しますが、アイテムは削除しません。 その結果、項目は残りますが、空になります。 Clear-Content
は Clear-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
ストリームのコンテンツを取得します。
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 |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Credential
Note
このパラメーターは、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, LP |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Path
内容を削除する項目へのパスを指定します。 ワイルドカードを使用できます。 コンテナーのパスではなく、項目のパスを指定してください。 たとえば、ディレクトリのパスではなく、1 つ以上のファイルのパスを指定する必要があります。 ワイルドカードを使用できます。 このパラメーターは必須ですが、パラメーター名 (Path) は省略可能です。
型: | String[] |
配置: | 0 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | True |
-Stream
これは、 FileSystem プロバイダーによって使用できる動的パラメーターです。 このパラメーターは Windows でのみ使用できます。
コンテンツの代替データ ストリームを指定します。 ストリームが存在しない場合は、このコマンドレットによって作成されます。 ワイルドカード文字はサポートされていません。
Clear-Content
コマンドレットを使用して、Zone.Identifier
などの代替データ ストリームの内容を変更できます。 ただし、インターネットからダウンロードされたファイルをブロックするセキュリティ チェックを排除する方法として、これをお勧めしません。 ダウンロードしたファイルが安全であることを確認する場合は、 Unblock-File
コマンドレットを使用します。
このパラメーターは PowerShell 3.0 で導入されました。 PowerShell 7.2 の時点で、 Clear-Content
はディレクトリとファイルから代替データ ストリームの内容をクリアできます。
詳細については、「 about_FileSystem_Provider」を参照してください。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-WhatIf
コマンドレットの実行時に発生する内容を示します。 このコマンドレットは実行されません。
型: | SwitchParameter |
Aliases: | wi |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
None
このコマンドレットにオブジェクトをパイプすることはできません。
出力
None
このコマンドレットは、出力を返しません。
メモ
PowerShell には、 Clear-Content
の次のエイリアスが含まれています。
- すべてのプラットフォーム:
clc
Clear-Content
は、PowerShell FileSystem プロバイダーや、コンテンツを操作する他のプロバイダーと共に使用できます。 PowerShell 証明書またはレジストリ プロバイダーによって管理されるアイテムなど、コンテンツと見なされないアイテムをクリアするには、 Clear-Item
を使用します。
Clear-Content
コマンドレットは、任意のプロバイダーによって公開されるデータを操作するように設計されています。
セッションで使用可能なプロバイダーを一覧表示するには、「 Get-PsProvider
」と入力します。
詳細については、「 about_Providers」を参照してください。
関連リンク
PowerShell