PoweShellでファイルとフォルダを削除するコマンド

2023年2月7日火曜日

PowerShell

t f B! P L

enter image description here

昨今、PowerShellを多くの場面で使われるようになり、当初は Windowsのみで使えるスクリプト言語でしたが、macOS・Linuxにもインストールできるようになり、さらに活用の幅が広がっています。

この記事では、PowerShellのコマンドでファイルやフォルダを削除する方法について紹介します。

スポンサーリンク

ファイルを削除する

ファイルを削除する方法から見てみましょう。

ファイルを削除する場合は Remove-Item または rm コマンドを使用します。rmRemove-Item のエイリアスであるため、どちらのコマンドを使っても機能は同じです。

指定したファイルを1件削除する

enter image description here

指定したファイルを1件削除するコマンドは次のとおり。

Remove-Item -Path path/to/file.txt

Remove-Itemコマンドの -Path オプションに削除するファイルのパスを指定してファイルを削除します。

ワイルドカードで複数ファイルをまとめて削除

enter image description here

ワイルドカードは、ファイル名やフォルダ名の一部を *? などの特殊な代替文字を使って、あいまいなまま指定するもので、ファイル名の一部が不明な場合や、複数ファイルを一括で処理したい時などに使用します。

このワイルドカードでファイル名の一部を指定して、まとめてファイルを削除する例が次のコマンドです。

Remove-Item -Path path/to/foo*.txt

上の例の場合、foo から始まるファイルで、拡張子が.txt のファイルを一括で削除しています。そのため foo.txtfoo_bar.txtfoo1.txt などのファイルが削除され、逆に bar_foo.txt のようなファイルは削除されません。

読み取り専用のファイルを削除する

取り専用に設定されたファイルを削除する場合は、-Force オプションを指定します。

このオプションを指定せずに Remove-Item を実行すると、次のようなエラーメッセージが表示されます。

#ファイルを作成して、読み取り専用に設定
New-Item -Type sample.txt
Set-ItemProperty sample.txt -Name IsReadOnly -Value $true

#ファイルを削除
Remove-Item -Path path/to/file.txt
Remove-Item : 項目 C:\test\test.txt を削除できません: この操作を実行するために十分なアクセス権がありません。

-Force オプションを指定すれば、読み取り専用のファイルも削除できます。

#ファイルを作成して、読み取り専用に設定
New-Item -Type sample.txt
Set-ItemProperty sample.txt -Name IsReadOnly -Value $true

#ファイルを削除
Remove-Item -Path path/to/file.txt -force
#正常にファイルが消える

フォルダを削除する

enter image description here

PowerShellでは、フォルダを削除する場合も Remove-Itemコマンドを使用します。

例えば、パス「path/to/directory」のフォルダを削除する場合は、次のコマンドを使用します。

Remove-Item -Path path/to/directory

もし、削除するフォルダの中にファイルが残っていると「続行しますか?」というメッセージが表示されます。続行するには Y を入力して Enter キーを押します。

フォルダを削除する時の確認メッセージを非表示にする

フォルダを削除する時の確認メッセージが不要な場合は、-Recurse オプションを付けてフォルダを削除することで、フォルダの中にファイルが残っていても確認メッセージが出ずに削除できます。

Remove-Item -Path path/to/directory -Recurse

スポンサーリンク

まとめ

PowerShellでファイルやフォルダを削除するコマンドを紹介しました。

クロスプラットフォームで使えるようになった PowerShellを覚えておいて損はないでしょう。

スポンサーリンク
スポンサーリンク

このブログを検索

Profile

自分の写真
Webアプリエンジニア。 日々新しい技術を追い求めてブログでアウトプットしています。
プロフィール画像は、猫村ゆゆこ様に書いてもらいました。

仕事募集もしていたり、していなかったり。

QooQ