SurfaceUbuntuレビュー・感想その他スマートフォンレンタルサーバーConoHaエックスサーバーKUSANAGIWebWordPressPHPフリーランスAVライフハック自作アプリ有限工房について管理人の秘密サイトマップ姉妹サイトお問い合わせIT・ガジェット系ブログです。作者の日々の学びを記録しております。9/30Windows2023年9月30日ホームパソコンWindows空フォルダを一括削除するPowerShellスクリプトこんばんは。私儀都合(エチチ画像整理)のため、空フォルダを一括削除するPowerShellスクリプトを作りましたので、サンプルとして公開します。指定フォルダ以下を全て辿り、中身が空っぽのフォルダを片っ端から(再帰的に)削除します。「片っ端から」は↓こんな動きです。(孫フォルダ「x」)たとえば、こんな構造のフォルダがあったとき。「C:¥A」「C:¥A¥1」「C:¥A¥1¥x」を全て削除しますルール2:一番深い階層がカラのときだけ削除する「C:¥A¥1」に何かファイルがある場合は「C:¥A¥1¥x」だけ削除します。「シンプルで素直な作りなので、PowerShellスクリプトのたたき台に良いかな?」と思ったので公開します。一応、約1.8万ファイル・約2,700フォルダ・約13GB分の虎の子エチチファイルを使い命がけでテストしたので、おおかた大丈夫でしょうwくどいですが自分用で、内容についてお問い合わせ頂いてもお答えはできませんし、詳細に解説する気もありません。自分でプログラムを読めて自分で意味を理解して自力で実行できる「プログラマーさん」に向けて公開しております。この後の文章も、そういった方に向けて遠慮無く書いておりますのでご了承ください。くじ(押すと各章に飛ぶ)サンプルスクリプト下記テキストを「【任意の名前】.ps1」として保存してください。動作概要$TARGET_ROOTに指定されたフォルダを起点に、全ての空フォルダを再帰的に削除します。このとき、$EXCLUDESに含まれたファイルは「存在しない物」としてみなします。(これらのファイルが存在していてもフォルダを削除する)また、$EXCLUDESが「隠しファイル」や「システムファイル」であっても無視します。1$TARGET_ROOT削除対象フォルダ。このフォルダ以下の空フォルダを再帰的に削除します。「C:\」など、ドライブ指定は危険なので避けましょう2$EXCLUDES除外ファイル。ドットファイルやThumbs.dbなど、フォルダもろとも削除して良いファイルを配列形式で指定します。この2項目を設定した後、スクリプトを実行します。私自身PowerShell初心者なので、パイプを極力使わない、コテコテな構造型言語の処理フローになっています。やってることは処理対象フォルダの列挙それらのファイル数を確認しながら、ゼロなら削除これだけです。駆使する上級者のコードに比べ、かなり取っつきやすいのではないでしょうか。再帰処理もどき動作概要で「再帰的に削除」と書きましたが、実際は再帰的に処理していません。-Descendingとしてフォルダ一覧の並び順を逆にすることで、結果的に「深いフォルダ」から順に削除される形になっています。$targetとすると事前に対象フォルダを確認できます。実際の削除が行われないため、「再帰的な削除」の動きは確認できません。さいごに以上、空フォルダを一括削除するPowerShellスクリプトの紹介でした。当ブログではその中での学びをアウトプットしています。エックスサーバーもくじ(押すと各章に飛ぶ)もくじ一番上へ閉じるもくじ(押すと各章に飛ぶ)閉じる。