[PowerShell][Remove-Item] ファイルを削除する

本記事の概要

この記事では、Remove-Item コマンドレットを使用して、ファイルを削除する方法について説明します。

Remove-Item コマンドについての公式サイト情報はコチラを参照してください。

Remove-Item のエイリアス

Remove-Item はファイルやディレクトリを削除することができるコマンドレットです。

rm」「rmd」のエイリアスがありますので、Remove-Item という長いコマンド名を入力せずに使用することができます。

 

ファイル名を指定して削除するには?

ファイル名を指定して削除するに、以下の構文を使用します。

Remove-Item 削除するファイルのパス

以下は、C:¥Work 配下にある test.txt というファイルを削除する例です。

PS > Remove-Item -Path C:\Work\test.txt

 

拡張子を指定してファイルを削除するには?

Remove-Item はワイルドカードによるファイルの削除も可能です。

以下は、C:¥Work 配下にある拡張子が *.txt のファイルを削除します。

PS > Remove-Item -Path C:\Work\*.txt

 

任意のファイルを除外して削除するには?

あるファイルは削除したいけど、あるファイルは削除したくないという場合があります。

このような場合は、以下構文のように -Include パラメータ-Exclude パラメータを使用してファイルを削除します。

Remove-Item * -Include 削除対象 -Exclude 除外対象

以下は、*.docx ファイル以外を全て削除する例です。

PS > cd C:¥Work  # 削除対象のファイルがあるディレクトリに移動
PS > Remove-Item * -Exclude *.docx

以下は、拡張子が *.docx のものは削除せずに、*.txt のものを削除します。

PS > cd C:¥Work  # 削除対象のファイルがあるディレクトリに移動
PS > Remove-Item * -Include *.txt -Exclude *.docx

 

読み取り専用や非表示のファイルを削除するには?

読み取り専用や非表示のファイルを削除するには、-Force パラメータを指定します。

以下は、C:¥Work にある読み取り専用の test.txt ファイルを削除する例です。

PS > Remove-Item C:¥Work¥test.txt -Force

-Force を指定しない場合は、以下のようにエラーになります。

PS C:\work> Remove-Item test.txt
Remove-Item : 項目 C:\work\test.txt を削除できません: この操作を実行するために十分なアクセス権がありません。
発生場所 行:1 文字:1
+ Remove-Item test.txt
+ ~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : PermissionDenied: (C:\work\test2.txt:FileInfo) [Remove-Item], IOException
+ FullyQualifiedErrorId : RemoveFileSystemItemUnAuthorizedAccess,Microsoft.PowerShell.Commands.RemoveItemCommand

 

サブフォルダー内のファイルも再帰的に削除するには?

サブフォルダーも含めて、ファイルを再帰的に削除するには、Get-ChildItem コマンドレット
-Recurse パラメータを使用し、削除対処を全て取得した後、Remove-Item で削除をします。

以下は、拡張子が *.txt のファイルを再帰的に削除する例です。

PS  >Get-ChildItem * -Include *.txt -Recurse | Remove-Item

 

対象を確認しながら削除するには?

-Confirm パラメータを使用すると、削除対象を確認しながら削除をすることができます。す。

以下は、先ほどの例に -Confirm パラメータを付与し、確認をしながら削除する例です。

PS  >Get-ChildItem * -Include *.txt -Recurse | Remove-Item -Confirm

確認
この操作を実行しますか?
対象 "C:\work\A\test.txt" に対して操作 "ファイルの削除" を実行しています。
[Y] はい(Y) [A] すべて続行(A) [N] いいえ(N) [L] すべて無視(L) [S] 中断(S) [?] ヘルプ (既定値は "Y"):

コメント

タイトルとURLをコピーしました