Mac OS Xで空のフォルダーを削除するにはどうすればよいですか?


回答:


43

まず、空のディレクトリを削除する必要は通常ないことに注意してください。一部のサービスまたはアプリケーションには、特定のディレクトリが存在する必要さえあります。あなたがやっていることに注意してください。

findTerminal.appから実行する場合、空のフォルダーをでリストできます:

find . -type d -empty

デフォルトでfindはファイルとフォルダをリストしますが、ここ-type dではディレクトリに制限し、-emptyオプションは空のディレクトリのみを表示します。これにより、ホームディレクトリ(または略して)から派生するすべてのフォルダーが再帰されます。これをファイルシステム全体に展開するには、次を使用します。/Users/your-username/~

find / -type d -empty

ここで、/Mac OS Xファイルシステムのルートを示します。もちろん、他の開始点を使用することもできます。たとえば、外部ディスクを;の下にマウントします。/Volumes/your-disk-name

find /Volumes/your-disk-name -type d -empty

ここで、find出力を削除する場合は-delete、次のように単純に追加します。

find . -type d -empty -delete

注:これは確認を求めません。削除できるすべてのディレクトリ、つまり、削除する権限があるディレクトリを削除します。彼らはゴミ箱に移動されませんが、永遠に消えます。削除する前に確認する場合は、コマンドを次のように変更します。

find . -type d -empty -exec rm -ri '{}' \;

それは私についての出力を与えるillegal option -- t typeempty認識することはできないようです。
AsTeR

1
@AsTeRザ・OS Xのバージョンはfindそうでやり直して、パスを必要としfind . -type d、ないfind -type d(GNUのために後者の作品find)。
slhck

6
これは機能しますが、非表示の.DS_Storeファイルのみを含むフォルダーは見つからないため、技術的には空ではありませんが、ユーザーには空に見えます。ユーザーが空に見えるすべてのフォルダーを検索したい場合、Finderで.DS_Storeファイルが追加されるため、一度Finderで開いていたフォルダーはこの方法では見つかりません。
スーパーテンペル14年

したがって、2つの手順で行う必要があります。最初に.DS_Storeファイルを削除し(find上記と同様の方法で実行できます)、次に推奨コマンドを使用して残りの空のディレクトリを削除します。
ゲルロス

6

私はこれをより良く解決する小さな無料のプログラムを作成しました:

http://www.macupdate.com/app/mac/52551/find-empty-folders

このプログラムの利点は、明らかに空であるが目に見えない「.DS_Store」ファイルを含むフォルダーも検出することです。

また、見つかったアイテムをすぐにゴミ箱に移動することもできます。


アイコンファイルも同様に処理できれば良いと
思い

@kenchewこれを探していると思うfind ~/Documents -type f -name 'Icon?' -print -delete;
-JayRizzo

2

この取り組みをさらに進めるには:

OCDへの道であり、APPオーバーロードになり、シンプルさを好むことにうんざりしているため、ドキュメントフォルダーを時々クリーンアップするために使用するスクリプトを作成しました。

これは、代替ソリューションを改善および提供するために作成されました。

最後に、@ kencheのアイコンファイルについては、フォルダーアイコンを変更していないため、Macには存在しないようですが、インスペクターで確認できます。画像を左上にドラッグすると、Icon^Mそのディレクトリにファイルが作成されます。

これらも見つけるには、次を実行します。

(あなたは偽陽性を見つけるならば、使用についてパラノイアであるべき:ctrl+ v ctrl+ mの代わりに?)

find ~/Documents -type f -name 'Icon?' -print;
# and to remove 
find ~/Documents -type f -name 'Icon?' -print -delete;

重要

前述の@slhckのように:サービスまたはアプリケーションの中には、特定のディレクトリが存在する必要があるものもあります。これはまた、DS_Store&アイコンファイルに適用され、PLEASEあなたがやっていることに注意してください。また、注:このスクリプト確認を求めません。可能なすべてのディレクトリを削除します。すなわち、あなたが削除する許可を持っているもの。彼らはゴミ箱に移動されませんが、永遠に消えます。

BASHスクリプト

#!/bin/bash
# =============================================================================
# MAC OSX HIGH SIERRA 10.13.4 (17E199)
# Terminal: Version: 2.8.2 64-Bit (Intel): Yes
# Terminal Location: /Applications/Utilities/Terminal.app
# =============================================================================
# Terminal CLEAN UP YOUR DOCUMENTS FOLDER.
# =============================================================================
# START WHAT IS BELIEVED TO BE EMPTY NOW.
# =============================================================================
echo 'Searching Documents for empty folders...'
find ~/Documents -type d -empty;
# =============================================================================
# SHOW & THEN REMOVE ALL MAC OS DS_Store FILES
# =============================================================================

echo 'Searching Documents for DS_Store files...'
find ~/Documents -type f -name ".DS_Store" -print;

echo 'Removing DS_Store files...'
find ~/Documents -type f -name ".DS_Store" -print -delete;
# =============================================================================
# SHOW & THEN REMOVE ALL MAC OS ZERO SIZED FILES
# =============================================================================
echo 'Searching Documents for ZERO file sized files...'
find ~/Documents -type f -empty;

echo 'Removing ZERO file sized files...'
find ~/Documents -type f -empty -delete;
# =============================================================================
# SHOW & THEN REMOVE Icon^M FILES
# USE THE ? MARK FOR EASE OF USE YOU CAN ALSO SUB 'CTRL + V & CTRL + M' FOR ^M 
# =============================================================================

echo 'Searching Documents for Icon files...'
find ~/Documents -type f -name 'Icon?' -print;

echo 'Removing Icon files from Documents...'
find ~/Documents -type f -name 'Icon?' -print -delete;

# SEEMINGLY THE SAME AS
# find ~/Documents -type f -size 0 -print
# find ~/Documents -type f -size 0 -print -delete
# =============================================================================
# SHOWCASE NEW FOUND EMPTY FOLDERS
# =============================================================================
echo 'Showcasing new result of existing and new found empty folders...'
find ~/Documents -type d -empty;

echo 'Deleting result of empty folders...'
find ~/Documents -type d -empty -delete;

echo 'Showcasing the removal of said, 'empty folders'...'
find ~/Documents -type d -empty;

スクリプトの終わり。

GitHubでスクリプトを見ることができます

参照:

Mac上のファイルを表すアイコンについて

.DS_Storeのみを含むすべてのフォルダーを再帰的に削除する方法はありますか?

「.DS_Store」のみを含むフォルダーとサブフォルダーを検索します

サブディレクトリを含むディレクトリ内のすべてのゼロバイトファイルを見つける方法

アイコン?OS Xデスクトップ上のファイル

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.