指定した項目を削除します。

構文

Remove-Item [-LiteralPath] <string[]> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-Recurse] [-確認] [-WhatIf] [-UseTransaction] [<CommonParameters>]

Remove-Item [-Path] <string[]> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-Recurse] [-確認] [-WhatIf] [-UseTransaction] [<CommonParameters>]

説明

Remove-Item コマンドレットは、1 つまたは複数の項目を削除します。このコマンドレットは多数のプロバイダーでサポートされているので、ファイル、ディレクトリ、レジストリ キー、変数、エイリアス、関数など、さまざまな種類の項目を削除できます。

パラメーター

-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[]>

削除対象の項目のパスを指定します。ワイルドカードを使用できます。パラメーター名 ("-Path") は省略可能です。

必須

true

位置

1

既定値

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

true (ByValue, ByPropertyName)

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

false

-Recurse

指定した場所にある項目と、その場所のすべての子項目を削除します。

このコマンドレットでは、Recurse パラメーターは正常に機能しません。

必須

false

位置

named

既定値

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

false

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

false

-確認

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

必須

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.

入力と出力

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

入力

System.String

パイプを使用してパス (リテラル パスではない) を含む文字列を Remove-Item に渡すことができます。

出力

なし

このコマンドレットによる戻り値はありません。

また、Remove-Item を組み込みエイリアス "del"、"erase"、"rmdir"、"rd"、"ri"、"rm" のいずれかで参照することもできます。詳細については、「about_Aliases」を参照してください。

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

例 1

C:\PS>remove-item C:\Test\*.*

説明
-----------
このコマンドを実行すると、名前にドット (.) が含まれるファイルが C:\Test ディレクトリからすべて削除されます。コマンドでドットを指定しているため、ディレクトリやファイル名拡張子のないファイルは削除されません。






例 2

C:\PS>remove-item * -include *.doc -exclude *1*

説明
-----------
このコマンドを実行すると、現在のディレクトリから、拡張子が .doc で名前に 1 が含まれないファイルがすべて削除されます。ワイルドカード文字 (*) を使用して、現在のディレクトリの内容を指定しています。また、Include パラメーターと Exclude パラメーターを使用して、削除するファイルを指定しています。






例 3

C:\PS>remove-item -path C:\Test\hidden-RO-file.txt -force

説明
-----------
このコマンドを実行すると、隠しファイルと読み取り専用ファイルの両方が削除されます。ファイルは Path パラメーターを使用して指定しています。また、Force パラメーターを指定して削除する権限を与えています。Force がないと、読み取り専用ファイルや隠しファイルは削除できません。






例 4

C:\PS>get-childitem * -include *.csv -recurse | remove-item

説明
-----------
このコマンドを実行すると、現在のディレクトリとそのすべてのサブディレクトリにある CSV ファイルがすべて再帰的に削除されます。

このコマンドレットの Recurse パラメーターは正しく動作しないため、このコマンドでは Get-Childitem コマンドレットを使用して目的のファイルを取得し、パイプライン演算子を使用して Remove-Item コマンドレットに渡しています。

Get-ChildItem コマンドでは、Path パラメーターの値が * となっており、現在のディレクトリの内容を表しています。また、Include パラメーターを使用して CSV ファイルの種類を指定し、Recurse パラメーターを使用して再帰的な取得を行っています。

"-path *.csv" のように、パス中でファイルの種類を指定しようとすると、コマンドレットは検索の対象が子項目を持たないファイルであると解釈するため、Recurse が正常に機能しません。






例 5

C:\PS>remove-item hklm:\software\mycompany\OldApp -recurse

説明
-----------
このコマンドを実行すると、OldApp レジストリ キーと、そのすべてのサブキーと値が削除されます。キーの削除は、Remove-Item コマンドレットで行います。パスは指定されていますが、省略可能なパラメーター名 (Path) は指定されていません。

Recurse パラメーターがあることで、OldApp キーのすべての内容が再帰的に削除されます。キーにサブキーが含まれている場合でも、Recurse パラメーターを指定しないと、キーの内容を削除するかどうかを確認するメッセージが表示されます。






関連項目




目次