मैं मैक ओएस एक्स में खाली फ़ोल्डर कैसे हटा सकता हूं?


जवाबों:


43

सबसे पहले ध्यान दें कि आमतौर पर खाली निर्देशिकाओं को हटाना आवश्यक नहीं है। कुछ सेवाओं या अनुप्रयोगों को मौजूद होने के लिए कुछ निर्देशिकाओं की आवश्यकता हो सकती है। आप जो कर रहे हैं उससे अवगत रहें।

आप findटर्मिनल से खाली फ़ोल्डर की सूची बना सकते हैं।

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 typeऔर emptyपहचानने में सक्षम नहीं होता है।
AsTeR

1
@AsTeR OS X संस्करण findको एक पथ की आवश्यकता है, इसलिए पुन: प्रयास करें find . -type d, नहीं find -type d(GNU के लिए उत्तरार्द्ध काम करता है find)।
slhck

6
जब यह काम करता है, तो यह संभवतः उन फ़ोल्डरों का पता नहीं लगाता है जिनमें केवल छिपी हुई .DS_Store फाइलें होती हैं, जिससे वे तकनीकी रूप से गैर-रिक्त होते हैं, लेकिन उपयोगकर्ता को खाली दिखाई देते हैं। यदि कोई उपयोगकर्ता खाली दिखाई देने वाले सभी फ़ोल्डरों को ढूंढना चाहता है , तो उसने जो एक बार फाइंडर में खोला था, उसे इस तरह नहीं मिलेगा क्योंकि फाइंडर ने .DS_Store फ़ाइल को जोड़ा होगा।
सुपरटेम्पेल

इसलिए हमें इसे दो चरणों में करने की आवश्यकता हो सकती है: सबसे पहले .DS_Store फाइलें निकालें ( findऊपर इसी तरह उपयोग करके की जा सकती हैं), और फिर शेष खाली निर्देशिकाओं को हटाने के लिए सुझाए गए कमांड का उपयोग करें।
gerlos

6

मैंने एक छोटा और मुफ्त कार्यक्रम बनाया है जो इसे बेहतर बनाता है:

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

इस कार्यक्रम का लाभ यह है कि यह उन फ़ोल्डरों को भी खोजता है जो स्पष्ट रूप से खाली हैं लेकिन इनमें अदृश्य ".DS_Store" फाइल है।

और यह आपको मिली वस्तुओं को तुरंत ट्रैश में ले जाने की सुविधा देता है।


अच्छा होगा अगर यह आईकॉन फ़ाइल को भी संभाल सकता है - superuser.com/questions/298785/icon-file-on-os-x-desktop
kenchew

@kenchew मेरा मानना ​​है कि आप इसे खोज रहे हैंfind ~/Documents -type f -name 'Icon?' -print -delete;
JayRizzo

2

इस प्रयास को आगे बढ़ाने के लिए:

मैंने एक स्क्रिप्ट बनाई जिसका उपयोग मैं समय-समय पर अपने दस्तावेज़ फ़ोल्डर को साफ करने के लिए करता हूं, क्योंकि मैं ओसीडी के लिए रास्ता हूं और एपीपी अतिभारित और सादगी की तरह थक गया हूं।

मैंने इसे वैकल्पिक समाधान में सुधार और प्रदान करने के प्रयास में बनाया है।

अंत में, @ kenche की आइकॉन फाइल के लिए, यह मेरे मैक पर मौजूद नहीं है क्योंकि मैंने अपने फोल्डर आइकन को संशोधित नहीं किया है, लेकिन आप निरीक्षक में कर सकते हैं। किसी चित्र को ऊपर बाईं ओर खींचने पर यह Icon^Mउस निर्देशिका पर फ़ाइल बना देगा ।

उन लोगों को खोजने के लिए जिन्हें आप चला सकते हैं:

(यदि आपको एक झूठी सकारात्मक मिल रही है, तो इसके बारे में पागल होना चाहिए: + के बजाय ctrl+ का उपयोग करें?)v ctrlm

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

महत्वपूर्ण

जैसा कि @slhck ऊपर कहा गया है: कुछ सेवाओं या अनुप्रयोगों को भी मौजूद होने के लिए कुछ निर्देशिकाओं की आवश्यकता हो सकती है। यह DS_Store और Icon फ़ाइलों पर भी लागू होता है, कृपया ध्यान रखें कि आप क्या कर रहे हैं। यह भी नोट करें: यह स्क्रिप्ट पुष्टिकरण नहीं मांगेगा। यह सभी निर्देशिकाओं को हटा सकता है। यानी जहां आपको हटाने की अनुमति है। उन्हें कूड़ेदान में नहीं ले जाया जाएगा, लेकिन हमेशा के लिए चला जाएगा।

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 पर यहां स्क्रिप्ट देखी जा सकती है

संदर्भ:

उन आइकन के बारे में जो आपके मैक पर फ़ाइलों का प्रतिनिधित्व करते हैं

सभी फ़ोल्डर्स को हटाने का कोई तरीका जो केवल .DS_Store को पुनरावृत्ति करता है?

केवल ".DS_Store" वाले फ़ोल्डर और सबफ़ोल्डर खोजें

उपनिर्देशिका सहित निर्देशिका में सभी शून्य-बाइट फ़ाइलों को खोजने के लिए कैसे

चिह्न? OS X डेस्कटॉप पर फ़ाइल

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.