今流行りの生成AIにスクリプトを書いてもらって、対象フォルダのファイル整理をしよう!
これを今回やったらハマっちゃいました。
何が起きた?
PowerShellでのファイル削除スクリプトを作成したのですが、ファイルが大量に存在するフォルダで特定の条件にマッチするファイルのみ削除しようとすると「削除権限がありません」というエラーが出ました。
(手動で削除することはできます)
原因は…調査中
生成AIと何度もやり取りしましたが、明確な原因には辿り着けていないです。
可能性として生成AIが挙げたすべての項目が調査によって否定されてしまいました。(アクセス権がないのでは、アンチウィルスソフトが妨害、ディスクが壊れているのでは?UACが悪さをしていないか?etc...)
解決策は?
■一旦、別の場所に移動させる!(移動)
うまく削除できないファイルたちを、別のフォルダ(例えば「tmp」フォルダ)に移動させるスクリプトを用意しました。削除ではなく移動であれば問題なく動作しました。
移動先のフォルダはファイル量が非常に少ないため、問題なく削除することができました。
まとめ
ファイルの権限が正しいのにどうしてもファイル削除が正常に動作しない、という場合はこのようなこともありうるようです。
同じように悩んでいるあなたの助けになれば幸いです!