Remove-Item cmdlet の概要(簡単な説明)
ファイルやディレクトリの管理は、特に Windows PowerShell 環境では、コンピューティングにおける一般的な作業です。PowerShell の Remove-Item は、ファイルやディレクトリの削除に加えて、PowerShell 内の他の種類のアイテムを削除するための重要な cmdlet です。Remove-Item はローカル ファイル システムだけでなく、Registry、Certificate Store、Environment variables のような他の PowerShell プロバイダーでも使用できます。さらに Remove-Item は、パイプラインを通じて他の cmdlet からの入力を受け取ることもでき、ファイル管理タスクをより動的に実行したり、自動化したりできます。なお、重要な点として、既定では Remove-Item で削除したアイテムはシステムから永続的に削除され、ゴミ箱(Recycle Bin)には送られません。この cmdlet を使用する際は、実行する操作を必ず確実に確認してから行うことが大切です。
重要性とよくある使用例
PowerShell の Remove-Item cmdlet は、システムを整理してスムーズに動作させるために重要です。不要なファイルを片付け、ディスク容量を確保できるため、ファイルやディレクトリの効果的な管理に不可欠です。スクリプト作成や自動化では、手作業を介さずに古いファイルや一時ファイルを削除できることで、ワークフローを効率化します。PowerShell の Remove-Item cmdlet は、ログファイルや、時間の経過とともに蓄積される一時フォルダーの整理など、定期的なメンテナンス作業にも役立ちます。
よくある使用例
以下に、Remove-Item コマンドを使用する一般的な使用例を示します:
- 一時ファイルの削除:システム パフォーマンスを維持するために一時ファイルを定期的に削除します。
- 古いバックアップの整理:スペースを節約するために古いバックアップ ファイルを自動的に削除します。
- 一括削除:特定の拡張子を持つ複数のファイルを削除します。
- 空のディレクトリの削除:ディレクトリ構造内の空のフォルダーを整理します。
- レジストリ キーのクリーンアップ:不要になった特定のレジストリ キーを削除します。
- デプロイスクリプト:デプロイスクリプトでは、新しいアプリをインストールする前に古いバージョンを削除します。
サポートされているプロバイダーと項目の種類
Remove-Item PowerShell コマンドは、さまざまなプロバイダーと項目の種類をサポートします。主にファイル システム内でファイルやフォルダーを削除する用途で使われますが、その機能はファイル システムに限りません。レジストリ キーやエントリも削除できます。これは、システム構成のクリーンアップや変更に役立ちます。目的としてはあまり一般的ではありませんが、Remove-Item は他の PowerShell プロバイダーとも連携でき、変数やエイリアスなどの項目を削除することが可能です。
おすすめの関連コンテンツ:
基本構文
Remove-Item の基本構文は次のとおりです。
Remove-Item [-Path] <string[]> [-Force] [-Recurse] [-LiteralPath <string[]>] [-Confirm] [-WhatIf] [-ErrorAction <ActionPreference>] [-WarningAction <ActionPreference>] [-InformationAction <ActionPreference>] [-InformationVariable <string>] [<CommonParameters>]
以下は、共通パラメーターを含むコマンドレットの例です。
Remove-Item -Path C:\Backups\Design.txt -Force -Recurse -WhatIf
Remove-Item コマンドレットのパラメーター
以下は Remove-Item cmdlet で使用される、最も一般的なパラメーターです:
Parameters | Explanation |
|---|---|
|
-Path |
Specifies the path to the items that you want to remove. This parameter accepts wildcard characters, allowing for pattern matching. The path element can mean either absolute or relative. |
|
-LiteralPath |
Similar to -Path, but treats the path exactly as specified, without interpreting wildcards. |
|
-Force |
This is a remove item cmdlet that is used to force a command to remove items that cannot otherwise be deleted. For example, this can include hidden or read-only files or items with child items that are not empty. Use this parameter with caution, as it can result in data loss. |
|
-Include |
Specifies only the items that match the specified pattern or type of item to be removed. This works in conjunction with the -Path parameter to filter out items within the path. |
|
-Exclude |
Specifies items that should not be removed. This is used to exclude certain items from the operation based on the pattern provided. |
|
-Recurse |
If the item being removed is a directory, this parameter will ensure that all its child items are also removed. Without this parameter, the command will not delete directories that are not empty. |
|
-WhatIf |
This is a safety parameter that shows what would happen if the cmdlet ran, without performing the deletion. It is useful for verifying what will be deleted before committing to the action. |
|
-Confirm |
Prompts you for confirmation before executing the cmdlet. This can be a useful safety check to prevent accidental deletion of important items. |
|
-Credential |
Allows you to specify a user account with permission to perform the deletion, if necessary. |
|
-Stream |
This parameter is used to delete alternate data streams (ADS) from files and folders. |
ファイル エクスプローラーを使って完全パスを見つけてコピーする方法
Windows では、ファイル エクスプローラー(File Explorer)を使ってファイルやフォルダーの完全パスを確認できます。アプリケーション、スクリプト、または PowerShell cmdlet でファイルやフォルダーを参照する必要がある場合に役立ちます。以下の手順で、ファイルやフォルダーのパスを見つけてください。
- ファイル エクスプローラー(File Explorer)を開き、完全パスを確認したいファイルまたはフォルダーが含まれているフォルダーへ移動します。
- 目的のフォルダーに移動したら、ファイル エクスプローラー上部のアドレス バーをクリックします。これにより、完全パスがハイライト表示されます。
- ハイライトされたパスを右クリックし、コンテキストメニューから「コピー」を選択して、完全なパスをクリップボードにコピーします。
- 特定のファイルの完全なパスが必要な場合は、アドレスバーのパス末尾に拡張子付きのファイル名を入力して完成させます。例:「C:\Backup\Design.txt」。
Remove-Item cmdlet で基本のファイルとフォルダーを削除する
単一のファイルを削除する方法
PowerShell で Remove-Item を使って単一のファイルを削除するには、以下の手順に従ってください。
- PowerShellを開きます。
- 「Remove-Item」の cmdlet の後に「-Path」パラメーターと、削除したいファイルのフルパスを入力します。
基本の cmdlet は次のとおりです。
Remove-Item -Path "C:\Backup\Report.txt"
特定のフォルダーを削除する方法
特定のフォルダーを削除するには、下記の cmdlet に従ってください。
“C:\Backups”内にある「OldProjects」というフォルダーを削除するには、コマンドは次のようになります。
Remove-Item -Path "C:\Backups\OldProjects"
複数のファイルとフォルダーを削除する
フォルダーとその中身をすべて削除する方法
フォルダーとそのすべての内容を削除するには、“-Recurse”パラメーターを使用して、フォルダーがその中のすべてのファイルやサブフォルダーと一緒に削除されるようにする必要があります。このパラメーターがない場合、cmdlet はフォルダー内にファイルや他のフォルダーが含まれていると、そのフォルダーを削除しません。以下の例の cmdlet を使用できます。
Remove-Item -Path "C:\Backups\OldDocuments" -Recurse
ディレクトリ内の複数のファイルを削除する方法
ディレクトリ内の特定の種類のすべてのファイルを削除したい場合は、ファイル拡張子にワイルドカード(*)を使用できます。たとえば、特定のフォルダー内のすべての“.txt”ファイルを削除するには、以下の cmdlet を使用します。
Remove-Item -Path "C:\Backups\OldDocuments\*.txt"
複数の種類のファイルを削除する方法
ディレクトリ内で異なる種類のファイルを削除するには、複数の「Remove-Item」コマンドを実行するか、「-Path」パラメーターに文字列の配列を渡せる PowerShell の機能を利用できます。 ただし、1つのコマンドの「-Path」パラメーター内で複数のワイルドカード パターンを直接組み合わせることはサポートされていません。これを解決するには、「Get-ChildItem」を使用して、それをパイプで Remove-Item に渡します。たとえば、ディレクトリ内の「.txt」と「.log」ファイルを削除するには、以下の例の cmdlet を使用してください。
Get-ChildItem -Path "C:\Backups\OldDocuments\*.*" -Include *.txt, *.log | Remove-Item
特定の複数ファイルを削除する方法
複数の指定ファイルを削除するには、PowerShell の delete file コマンドを使用して、カンマで区切った複数のパスを列挙します。
Remove-Item -Path "C:\Backups\OldDocuments\Design.txt", "C:\Backups\OldBackups\Backup_20_09_2024.bak"
ワイルドカードを使って複数のファイルを削除する方法
複数のファイルを削除するためにワイルドカードを使うには、コマンドにアスタリスク(*)記号を使用できます。アスタリスクは、ファイル名の任意の文字数を表せるワイルドカード文字として機能し、命名パターンに基づいて一度に複数のファイルを対象にできます。以下に例を示します。
PowerShell を使って、特定の名前で始まるファイルや特定のパターンを含むファイルを削除できます。たとえば、ファイル拡張子に関係なく “Report” で始まるファイルを削除するには、次のようにします。
Remove-Item -Path "C:\Backups\OldDocuments\Report*"
特定のファイル形式を含め、他は除外する
-Include と -Exclude のパラメーターは、PowerShell の Remove-Item コマンドレットを使って削除したいファイルやフォルダーをフィルターする際に非常に役立ちます。
- 含めるパラメーター
このパラメーターでは、操作に含める項目のパターンを指定できます。-Path パラメーターと一緒に使用します。
他のすべてのファイルを除外しつつ、フォルダー内のすべての .txt ファイルを削除するには、以下の cmdlet を使用します。
Remove-Item -Path "C:\Backup\*" -Include "*.txt"
- 除外パラメーター
このパラメーターでは、操作から除外する項目のパターンを指定できます。
フォルダー内のすべてのファイルを削除する一方で .txt ファイルを除外するには、以下の cmdlet を使用します。
Remove-Item -Path "C:\Backup\*" -Exclude "*.txt"
おすすめの関連コンテンツ:
Remote-Item を使用して読み取り専用および非表示ファイルを削除する
読み取り専用および非表示ファイルを削除するには、-Force パラメーターを使用する必要があります。これにより、cmdlet は通常は削除を妨げる制限(読み取り専用または非表示属性など)を上書きできるようになります。以下の例の cmdlet を使用してください。
単一ファイルを削除する方法
1つのファイルを削除するには、Remove-item cmdlet に次の構文を使用します
Remove-Item -Path "C:\Backups\Design.txt" -Force
ワイルドカードを使用してディレクトリ内の複数の読み取り専用または非表示ファイルを削除する方法
複数の読み取り専用または非表示ファイルを削除するには、次の構文を使用します:
Remove-Item -Path "C:\Backups\*.txt" -Force
Get-ChildItem cmdlet を使用して、まず特定のディレクトリ内のすべての読み取り専用ファイルと非表示ファイルを取得し、その後 -Force パラメーター付きの Remove-Item で削除することもできます。以下にいくつかの例を示します。
すべての読み取り専用ファイルを削除する方法
次の構文を使用して、すべての読み取り専用ファイルを削除します。
Get-ChildItem -Path "C:\Backups" -File -Attributes ReadOnly | Remove-Item -Force
ディレクトリ内のすべての隠しファイルを削除する方法
次の構文を使用して、すべての隠しファイルを削除します:
Get-ChildItem -Path "C:\Backups" -File -Attributes Hidden | Remove-Item -Force
読み取り専用ファイルと隠しファイルの両方を削除する方法
Get-ChildItem -Path "C:\Backups" -File -Attributes ReadOnly,Hidden | Remove-Item -Force
-Recurse を使用してファイルとサブフォルダーを削除する
指定したディレクトリ内のファイルとサブフォルダーを削除するには、-Recurse パラメーターを使用できます。このパラメーターは、その項目とそのすべての子要素を再帰的に削除します。ディレクトリとその中身(ネストされたすべてのファイルおよびサブディレクトリを含む)を一括で空にしたい場合に特に便利です。以下にいくつかの例を示します。
ディレクトリ内のすべてのファイルとサブフォルダーを削除する
Remove-Item -Path "C:\Backups\*" -Recurse
一部の項目が読み取り専用または非表示の場合は、-Force パラメーターを追加できます。
Remove-Item -Path "C:\Backups\*" -Recurse -Force
特殊文字を含むファイルを削除する
ファイル名に特殊文字が含まれている場合、特殊文字が PowerShell によって別の方法で解釈されたり、特別な取り扱いが必要になったりすることがあるため、削除が難しい場合があります。以下にいくつかの例を示します。
パスを引用符で囲む
ファイル名にスペースや (&, $, #, (), []) などの特殊文字が含まれている場合は、パスをシングルクォートで囲んでください。これが、PowerShell が文字列全体をパスとして扱うようにする最も簡単な方法です。シングルクォートを使うことで、PowerShell が $ を変数として展開しないようにできます。
Remove-Item -Path 'C:\Backups\$Design(1).txt'
特殊文字を一致させるためのワイルドカード
ファイルを直接指定しにくい場合や、特殊文字が多く複雑な名前になっている場合は、ワイルドカード (*) を使ってフルネームを入力せずにファイルを一致させることができます。たとえば、ファイル名が「@#Name(1).txt」の場合、cmdlet は以下のようになります。
Remove-Item -Path "C:\Backups\*Name*.txt"
代替データ ストリームを削除する
代替データ ストリーム(ADS)により、ファイルには複数のデータ ストリームを含めることができます。この機能は NTFS ファイル システムに固有で、ファイルの主要なコンテンツに影響を与えずに追加情報を保存するために使えますが、悪意のあるデータを隠す目的で悪用される可能性があります。ファイルから代替データ ストリームを削除するには、ストリーム名を含むファイルへのパスを指定する必要があります。代替データ ストリームを指定する構文は「filename:streamname」です。
代替データ ストリーム(ADS)の見つけ方
ファイルにどの代替データ ストリームが付加されているかを特定する必要があります。この目的のために、下記の cmdlet に -Stream パラメーターを指定して使用できます。
Get-Item -Path "C:\Backups\Design.txt" -Stream *
方法 代替データ ストリームを削除する
削除したいストリームの名前が分かれば、“Remove-Item”を使ってそれを削除できます。たとえば、ファイル「Design.txt」に「hiddenstream」という代替データ ストリームがあり、それを削除したいとします。以下の -Stream パラメーターを含む cmdlet を使用すると、ファイルは削除せずにストリームだけが削除されます。
Remove-Item -Path “C:\Backups\Design.txt" -Stream hiddenstream
特定の条件に基づいてファイルを削除する
特定の条件に基づいてファイルを削除することで、ディレクトリの後片付けを管理し、自動化することができます。条件は、作成日時、更新日時、サイズ、名前のパターンなど、さまざまなファイル属性に基づいて設定できます。以下に、いくつかの例となる cmdlet を示します。
特定の日付より前のファイルを削除する方法
特定の日付より前のファイルを削除するには、“Get-ChildItem” cmdlet を使って対象ディレクトリ内のすべてのファイルを一覧し、“Where-Object”で最終書き込み時刻に基づいてフィルター処理し、その後“Remove-Item”を使ってそれらのファイルを削除します。
$DateLimit = (Get-Date).AddDays(-30)
Get-ChildItem -Path "C:\Backups\" -File | Where-Object { $_.LastWriteTime -lt $DateLimit } | Remove-Item
このコマンドはファイルを恒久的に削除します。“| Remove-Item”を付けずにまずコマンドを実行し、どのファイルが削除されるかを確認するのがよい実践です。
Get-ChildItem -Path "C:\Backups\" -File | Where-Object { $_.LastWriteTime -lt $DateLimit }
特定のサイズより大きいファイルを削除する方法
特定のサイズより大きいファイルを削除するには、Get-ChildItem cmdlet を利用し、サイズに基づいて “Where-Object” cmdlet で結果をフィルターしてから、Remove-Item を使って削除します。
$SizeLimit = 5MB
Get-ChildItem -Path "C:\Backups\" -File -Recurse | Where-Object { $_.Length -gt $SizeLimit } | Remove-Item
削除されるファイルがどれかを確認するために、まず “| Remove-Item” を付けずにコマンドを実行するのがよい実践です。
Get-ChildItem -Path "C:\Backups\" -File -Recurse | Where-Object { $_.Length -gt $SizeLimit }
属性(読み取り専用、非表示)に基づいてファイルを削除する方法
Get-ChildItem -Path "C:\Backups\" -File -Attributes Hidden | Remove-Item -Force
読み取り専用や非表示などのファイル属性に基づいてファイルを削除するには、Get-ChildItem と、属性でファイルをフィルターするための Where-Object を組み合わせ、最後に Remove-Item で削除します。読み取り専用ファイルを削除しようとすると、-Force パラメーターを使用しない限りエラーが発生する点に注意してください。
Get-ChildItem -Path "C:\Backups\" -File | Where-Object { $_.Attributes -match "ReadOnly" } | Remove-Item -Force
Get-ChildItem で -Attributes パラメーターを使い、値を「read only」に設定することで、結果を直接フィルターすることもできます。
Get-ChildItem -Path "C:\Backups\" -File -Attributes ReadOnly | Remove-Item -Force
隠しファイルも同様の手順で削除できます。
Get-ChildItem -Path "C:\Backups\" -File | Where-Object { $_.Attributes -match "Hidden" } | Remove-Item -Force
別の方法として、-Attributes パラメーターを指定して削除することもできます。
ディレクトリ内のすべての空フォルダーを削除する方法
Get-ChildItem の cmdlet を使用して空のフォルダーを見つけ、次に Remove-Item を使ってそれらを削除できます。
Get-ChildItem -Path "C:\Backups\" -Directory -Recurse | Where-Object { $_.GetFileSystemInfos().Count -eq 0 } | Remove-Item -Force
実際に削除する前に、どの空のフォルダーが削除されるかを確認するには、Remove-Item -Force を Select-Object FullName に置き換えます。
Get-ChildItem -Path "C:\Backups\" -Directory -Recurse | Where-Object { $_.GetFileSystemInfos().Count -eq 0 } | Select-Object FullName
厳選した関連コンテンツ:
ベストプラクティスとよくある落とし穴
Remove-Item の PowerShell cmdlet は、ファイルやディレクトリを削除するための強力な方法ですが、強力なツールであるがゆえに、意図しない結果を避けるためには慎重な取り扱いが必要です。以下は、「ファイルを削除」アイテムパスを使用する際のベストプラクティスとよくある落とし穴です。
Remove-Item Cmdlet を使用する際のベストプラクティス
- 重要なファイルやディレクトリを削除する可能性があるコマンドを実行する前に、-WhatIf パラメーターを追加してください。これにより、実際の削除は行わずにコマンドをシミュレーションし、どの部分に影響が及ぶかを確認できます。
- 追加の保護として、特に複数の項目を一括で削除するスクリプトやコマンドを実行する場合は、-Confirm パラメーターを使用してください。PowerShell は各削除ごとに確認を促すため、誤ってデータを失うことを防げます。
- 誤って意図しないファイルやディレクトリを削除しないために、削除対象の項目の完全パスを指定してください。これにより、コマンドが意図した項目だけを確実に対象にするのに役立ちます。
- -Recurse パラメーターはディレクトリとその中身を削除するのに非常に便利ですが、注意して使わないとデータ損失につながる可能性もあります。必ず、削除される項目が何かを確認してください。Get-ChildItem で先に一覧表示するか、Remove-Item コマンドで -WhatIf を使用します。
- 削除中に発生したエラーを PowerShell がどう扱うかを指定するには、-ErrorAction を使用します。スクリプトでは、例外をより適切に管理するために、Remove-Item コマンドを try/catch ブロックで囲むことも検討してください。
- 大量のファイルまたは重要なデータに影響する削除コマンドを実行する前に、最新のバックアップが用意されていることを確認してください。
- Remove-Item を含むスクリプトを書く場合は、コードを十分に文書化してください。何の理由でアイテムを削除するのか、また、講じている具体的な考慮事項を説明してください。
- 削除を行うスクリプトやコマンドについて定期的に見直し、監査して、現在のニーズを満たし、ベストプラクティスに従っていることを確認してください。
- 一括削除のスクリプトを作成する場合は、誤ってデータが失われるのを防ぐために、まず本番環境ではない環境でテストしてください。
よくある落とし穴
- ワイルドカード(*)は、複数のファイルやディレクトリを一度に対象指定できる一方で、意図しない項目を削除してしまうリスクも高めます。慎重に使用し、どの項目が影響を受けるかを必ず確認してください。
- 既定では、-Force パラメーターを使用しない限り Remove-Item は読み取り専用ファイルや隠しファイルを削除しません。
- 十分な権限がない状態でファイルやディレクトリを削除しようとすると、エラーが発生することがあります。PowerShell を管理者として実行することで、これらの問題の一部を解決できます。
- NTFS ファイル システムには、代替データ ストリームのような機能があり、削除時に見落とされる可能性があります。代替ストリームが存在する可能性があると疑う場合は、-Stream パラメーターを必ず含めてください。
安全な削除のために -WhatIf と -Confirm を使用する
ファイルやディレクトリを削除するために Remove-Item を使用する場合、-WhatIf および -Confirm パラメーターは、操作の安全性を大幅に高めることができます。これらのパラメーターは、実行前にアクションのプレビューを提示するか、続行前に確認を求めることで、誤って削除してしまうことを防ぐのに役立ちます。
-WhatIf
-WhatIf パラメーターは、実際の変更を行うことなくコマンドの実行をシミュレートします。
Remove-Item -Path "C:\Backups\Design.txt" -WhatIf
-Confirm
-Confirm パラメーターは、削除が実行される前に各削除を確認するよう促します。
Remove-Item -Path "C:\Backups\Design.txt" -Confirm
よくあるエラーの対処(Access Denied、File Not Found)
Remove-Item コマンドレットを使用すると、“Access Denied”や“File Not Found”などのよくあるエラーに遭遇することがあります。
Access Denied エラー
このエラーは、PowerShell でファイルまたはディレクトリを削除するために必要な権限がない場合に発生します。
- パラメーター -Force によって、読み取り専用ファイルの削除を許可することでこのエラーを回避できる場合がありますが、セキュリティ権限を上書きすることはできません。
- -Force が機能しない場合は、ファイルまたはディレクトリの権限を手動で調整する必要があるかもしれません。Windows エクスプローラーのファイルまたはフォルダーのプロパティから権限を変更するか、“Set-Acl” のような PowerShell cmdlet を使用できます。
- PowerShell セッションを昇格した権限(管理者として)で実行すると、削除により高い権限が必要なファイルに対する “Access Denied” エラーを回避できる場合があります。
ファイルが見つからないエラー
このエラーは、Remove-Item で指定したパスが存在しない場合に発生します。
- まず、削除しようとしているパスが実際に存在することを確認してください。誤字や不正確なパス指定は、このエラーのよくある原因です。
- 削除を試みる前に、「Test-Path」を使用してファイルまたはディレクトリが存在するか確認してください。これによりエラーの発生を防げます。
if (Test-Path "C:\Backups\Design.txt") {
Remove-Item -Path "C:\ Backups\Design.txt"
} else {
Write-Host "File not found."
}
- 「-ErrorAction SilentlyContinue」を使用すると、エラーメッセージを非表示にできます。これは、見つからないファイルが致命的な失敗と見なされないスクリプトで役立ちます。
Remove-Item -Path "C:\ Backups\Design.txt" -ErrorAction SilentlyContinue
厳選した関連コンテンツ:
実際のシナリオ
一時ファイルのクリーンアップ
以下の cmdlet を使用して、「C:\Temp」ディレクトリ内のファイルを削除します。
Get-ChildItem -Path C:\Temp\* -Recurse | Remove-Item -WhatIf
-WhatIf パラメーターを使用しているため、この cmdlet は下記のように出力を表示します。-WhatIf を削除してから cmdlet をもう一度実行し、テンポラリ ディレクトリ内のすべてのファイルを削除します。
古いログのアーカイブと削除
30 日以上経過した「.log」ファイルをある場所から別の場所へ移動し、その後アーカイブから 90 日以上経過したログを削除します。
$sourcePath = "C:\Backups"
$archivePath = "C:\ArchivedLogs"
Get-ChildItem -Path $sourcePath\*.log -Recurse | Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-30) } | ForEach-Object {
Move-Item -Path $_.FullName -Destination $archivePath -WhatIf
}
「-WhatIf」で実行内容を確認し、その後「-WhatIf」を削除して続行します。
上記のスクリプトは、「Backups」フォルダー内の30日以上前のすべてのファイルを「ArchivedLogs」へ移動します。以下の cmdlet を実行することで、90日経過した Archive フォルダー内の古いログを削除できます。
Get-ChildItem -Path $archivePath\*.log -Recurse | Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-90) } | Remove-Item -WhatIf
対象を確認してから、“-WhatIf” なしで実行してください。
結論
Remove-Item cmdlet は、1つ以上の項目(主にファイルやディレクトリ)を削除するために設計されています。しかし、その機能は単にファイルやフォルダーにとどまらず、レジストリキーや変数の削除も含めて拡張されています。Remove-Item の最も重要な点の1つは安全性です。ファイルやディレクトリの削除は、注意深く扱わないと取り返しのつかない結果につながる可能性があります。Remove-Item には、-WhatIf および -Confirm パラメーターを使用して、このような操作を安全に実行できるようにする仕組みが用意されています。Remove-Item は、日常的なクリーンアップ作業を自動化したり、ファイルシステムをより効率的に管理したりするためのスクリプトに組み込めます。さらに、定期的に一時ファイルを削除したり、不要になったログファイルを整理したりする用途にも利用できます。ワイルドカードやフィルターを使えるため、特定のパターンや条件に基づいてファイルやフォルダーを削除する必要がある場面で、特に役立ちます。
初心者向け Windows PowerShell スクリプト入門(PDF)
詳しくはこちらFAQ
共有する
もっと詳しく
著者について
Kevin Horvatin
リード ソフトウェア アーキテクト
Kevin Horvatin は Netwrix のリード ソフトウェア アーキテクトであり、Netwrix Privilege Secure を担当しています。20 年以上のソフトウェア開発経験があり、PowerShell と C# が登場して以来、それらを扱ってきました。