次の方法で共有


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"

このコマンドは、ディレクトリのすべてのサブディレクトリ内の init.txt ファイルからすべてのコンテンツを SmpUsers 削除します。 ファイル自体は削除されず、空になります。

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

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

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

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

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

最初のコマンドでは、 コマンドレットをGet-Content使用して、インターネットからダウンロードされたファイル内Copy-Script.ps1Zone.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

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

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

注意

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

Type:PSCredential
Position:Named
Default value:Current user
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Exclude

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

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Filter

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

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Force

ユーザーに確認せずに、直ちにコマンドを実行します。

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Include

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

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-LiteralPath

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

Type:String[]
Aliases:PSPath, LP
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Path

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

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:True

-Stream

これは、 FileSystem プロバイダーが使用できる動的パラメーターです。 このパラメーターは Windows でのみ使用できます。

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

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

このパラメーターは PowerShell 3.0 で導入されました。 PowerShell 7.2 以降では、 Clear-Content ディレクトリとファイルから代替データ ストリームの内容をクリアできます。

詳細については、「 about_FileSystem_Provider」を参照してください。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

コマンドレットの実行時に発生する内容を示します。 このコマンドレットは実行されません。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

入力

None

オブジェクトをこのコマンドレットにパイプすることはできません。

出力

None

このコマンドレットは、出力を返しません。

メモ

PowerShell には、 の次のエイリアスが Clear-Content含まれています。

  • すべてのプラットフォーム:
    • clc

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

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