昨今、PowerShellを多くの場面で使われるようになり、当初は Windowsのみで使えるスクリプト言語でしたが、macOS・Linuxにもインストールできるようになり、さらに活用の幅が広がっています。
この記事では、PowerShellのコマンドでファイルやフォルダを削除する方法について紹介します。
スポンサーリンク
ファイルを削除する
ファイルを削除する方法から見てみましょう。
ファイルを削除する場合は Remove-Item または rm コマンドを使用します。rm は Remove-Item のエイリアスであるため、どちらのコマンドを使っても機能は同じです。
指定したファイルを1件削除する
指定したファイルを1件削除するコマンドは次のとおり。
Remove-Item -Path path/to/file.txt
Remove-Itemコマンドの -Path オプションに削除するファイルのパスを指定してファイルを削除します。
ワイルドカードで複数ファイルをまとめて削除
ワイルドカードは、ファイル名やフォルダ名の一部を * や ? などの特殊な代替文字を使って、あいまいなまま指定するもので、ファイル名の一部が不明な場合や、複数ファイルを一括で処理したい時などに使用します。
このワイルドカードでファイル名の一部を指定して、まとめてファイルを削除する例が次のコマンドです。
Remove-Item -Path path/to/foo*.txt
上の例の場合、foo から始まるファイルで、拡張子が.txt のファイルを一括で削除しています。そのため foo.txtやfoo_bar.txt 、 foo1.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
#正常にファイルが消える
フォルダを削除する
PowerShellでは、フォルダを削除する場合も Remove-Itemコマンドを使用します。
例えば、パス「path/to/directory」のフォルダを削除する場合は、次のコマンドを使用します。
Remove-Item -Path path/to/directory
もし、削除するフォルダの中にファイルが残っていると「続行しますか?」というメッセージが表示されます。続行するには Y を入力して Enter キーを押します。
フォルダを削除する時の確認メッセージを非表示にする
フォルダを削除する時の確認メッセージが不要な場合は、-Recurse オプションを付けてフォルダを削除することで、フォルダの中にファイルが残っていても確認メッセージが出ずに削除できます。
Remove-Item -Path path/to/directory -Recurse
スポンサーリンク
まとめ
PowerShellでファイルやフォルダを削除するコマンドを紹介しました。
クロスプラットフォームで使えるようになった PowerShellを覚えておいて損はないでしょう。

0 件のコメント:
コメントを投稿