क्या किसी के पास छिपी हुई फाइलों को हटाने के लिए मैक टर्मिनल स्क्रिप्ट है?


10

मेरी कार स्टीरियो USB फ्लैश ड्राइव से संगीत चला सकती है, इसलिए मैंने एक iTunes प्लेलिस्ट से MP3 की नकल करने के बारे में पूछा । यह ठीक काम किया, लेकिन मेरे स्टीरियो एमपी 3 फ़ाइलें नहीं खेलेंगे। मैंने अंततः विंडोज 7 चलाने वाले अपने कंप्यूटर में फ्लैश ड्राइव डाल दिया, और मुझे यह मुद्दा मिला: प्रारूप में छिपी हुई फाइलों का एक गुच्छा ._[filename].mp3भी लोड किया गया था।

मुझे पता है कि विंडोज में, आप विशेषताओं के आधार पर फ़ाइलों को हटा सकते हैं, और मैं सोच रहा था कि क्या आप टर्मिनल में भी ऐसा कर सकते हैं? संभवतः एक स्क्रिप्ट के साथ जिसे मैं एक पैरामीटर के रूप में वॉल्यूम के साथ चला सकता हूं?


मेरे साथ भी ठीक यही समस्या थी। अगर ._ फाइलें वहां होती हैं, तो मेरा स्टीरियो "बैड मीडिया" कहेगा, जो पूरी तरह से गलत था। यह ठीक से नामित फ़ाइलों को चलाएगा, लेकिन प्रत्येक ._ फ़ाइल के बारे में शिकायत करता है। मीडिया के खराब होने की पुष्टि करने में मुझे कुछ समय लगा, कार स्टीरियो था!
एरिक

लेकिन यह स्टीरियो की गलती नहीं है यह बेकार है ... लोल। मैंने बस इसे काम पर संगीत डालने के लिए अपने Win7 कंप्यूटर में डाला और उन सभी को देखा: छिपी हुई फ़ाइलों का एक गुच्छा जो 4KB थे
कनाडाई ल्यूक

कार स्टीरियो को उन फ़ाइलों को अनदेखा करना चाहिए । आपके मामले में उनके पास कोई आवश्यक जानकारी नहीं है। लेकिन यह हर जगह एक ही समस्या है। मेरे DLNA मीडिया प्लेयर को ब्राउज़ करते समय दिखाया गया है।
slhck

जवाबों:


21

ये फ़ाइलें OS X में छिपी हुई हैं क्योंकि वे इसके साथ शुरू होती हैं .और इसलिए डिफ़ॉल्ट रूप से फाइंडर में नहीं दिखाई जाती हैं। इसके अलावा इन फ़ाइलों में कोई विशेष विशेषता सेट नहीं है।

एक बहुत ही सरल दृष्टिकोण उन सभी फ़ाइलों को हटाना होगा जो डॉट और अंडरस्कोर से शुरू होती हैं:

find /Volumes/<your-volume-name> -name '._*' -type f -delete

सुरक्षा नोट: इसे चलाएं बिना -deleteयह देखे कि कौन सी फाइलें निकाली जाएंगी। और कभी भी अपने पूरे मैक एचडी पर ऐसा न करें, केवल अपने यूएसबी ड्राइव पर।


कुछ अतिरिक्त जानकारी के लिए: इन फ़ाइलों को "संसाधन कांटे" कहा जाता है और कभी-कभी ऐसी जानकारी होती है जिसे आप हटाना नहीं चाहते हैं। आपके उपयोग के मामले में, हालांकि यह ठीक होना चाहिए। आप BlueHarvest का उपयोग करके इन फ़ाइलों के निर्माण को स्थायी रूप से अक्षम कर सकते हैं । एक ऐप भी है जो उनमें से वॉल्यूम को साफ करने का दावा करता है, लेकिन मैंने इसे आज़माया नहीं है और यह बीटा है, इसलिए सावधानी के साथ उपयोग करें: हिडन क्लीनर


पता ही नहीं चला कि ... जानकर अच्छा लगा। मैं कोशिश करूँगा कि आज रात जब मैं घर पहुँचूँ, तब अपना उत्तर अंकित करूँ। साभार
कनाडाई ल्यूक

8

टर्मिनल प्रकार में मेरे लिए काम करने वाला एक और समाधान (MacOS 10.6.8):

dot_clean "/Volumes/<your-volume-name>"

3

मुझे अपनी कार स्टीरियो के साथ ठीक वैसी ही समस्या थी, 1 फ़ाइल / 2 अनुपयोगी है, क्योंकि खिलाड़ी मानता है कि मैक ओएस द्वारा बनाई गई डॉट फ़ाइल एक संगीत फ़ाइल है ... तब मुझे यह पोस्ट वास्तव में उपयोगी लगी, धन्यवाद।

तो मैं Mavericks के लिए एक बेहतर और मुफ्त समाधान के साथ अब वापस आता हूं:

  1. AppleScript स्क्रिप्ट को चलाने के लिए एक स्वचालित अनुप्रयोग बनाएँ
  2. इस स्क्रिप्ट का उपयोग करें:

    on run {input, parameters}
        try
            tell application "Finder" to set allDrives to the name of every disk whose local volume is true and startup is false
            set driveName to {choose from list allDrives with title "DiskCleaner" with prompt "Disk to Clean and Eject:" OK button name "Clean and Eject" cancel button name "Abort"} as text
            set getDriveIdentifier to "diskutil info " & quoted form of driveName & " | grep Ident | awk '{print $3}'"
            set driveIdentifier to do shell script getDriveIdentifier
            try
                do shell script "find /Volumes/" & quoted form of driveName & " -name '.DS_Store' -type f -delete"
                do shell script "find /Volumes/" & quoted form of driveName & " -name '.FBC*' -type f -delete"
                do shell script "find /Volumes/" & quoted form of driveName & " -name '._*' -type f -delete"
                do shell script "rm -rf /Volumes/" & quoted form of driveName & "/.{,_.}{fseventsd,Spotlight-V*,Trashes}"
                display notification "Disk Cleaned"
            on error
                try
                    do shell script "sudo find /Volumes/" & quoted form of driveName & " -name '.DS_Store' -type f -delete" with administrator privileges
                    do shell script "sudo find /Volumes/" & quoted form of driveName & " -name '.FBC*' -type f -delete" with administrator privileges
                    do shell script "sudo find /Volumes/" & quoted form of driveName & " -name '._*' -type f -delete" with administrator privileges
                    do shell script "sudo rm -rf /Volumes/" & quoted form of driveName & "/.{,_.}{fseventsd,Spotlight-V*,Trashes}" with administrator privileges
                    display notification "Disk Cleaned"
                on error
                    display notification "Can't Clean, Permission Denied"
                end try
            end try
            delay 1
            try
                do shell script "diskutil eject " & driveIdentifier
                display notification "Disk Ejected"
            on error
                display notification "Can't Eject, Disk in Use"
            end try
        on error
            display notification "No Disk to Clean and Eject"
        end try
    end run
    
  3. उदाहरण के लिए एप्लिकेशन को DiskCleaner.app के रूप में सहेजें

यह स्क्रिप्ट आपको USB डिस्क को साफ करने और बाहर निकालने के लिए चुनने के लिए कहेगी। फिर यह यूएसबी डिस्क को साफ करेगा (यदि वर्तमान के साथ विफल होने पर व्यवस्थापक क्रेडेंशियल्स के साथ प्रयास करता है), तो यदि संभव हो तो बेदखल करें।

बेशक सुधार के लिए अभी भी कुछ जगह है, मैंने इस स्क्रिप्ट को खुद के लिए किया है!

साथ ही आपके पास अधिक फ़ाइलों की सफाई के लिए कोड लाइन्स जोड़ने की सुविधा है।

का आनंद लें!


यह वास्तव में उपयोगी है, क्या आप पूर्ण स्वचालक वर्कफ़्लो को पोस्ट करने पर विचार करेंगे?
कोनराड

बहुत बढ़िया, बहुत धन्यवाद! OSX10.12.1 पर मेरे लिए काम करता है अगर मैं {input, parameters}लाइन 1 (केवल छोड़कर on run) से हटाता हूं । @Konrad: मैंने 'स्क्रिप्ट एडिटर' को खोला, उपरोक्त संपादन किया, और एक ऐप के रूप में / एप्लिकेशन को सहेजा; काम हो गया। मुझे लगता है कि वास्तव में क्या हो रहा है, जो अन्य मुफ्त समाधानों के साथ पेचीदा है, देखने में सक्षम है।
ptim

धन्यवाद। मैंने आपकी स्क्रिप्ट की कोशिश की। जब मैंने इसे स्वचालक एप से परीक्षण करने के लिए दौड़ाया तो मैंने डिस्क चयन संवाद में गर्भपात विकल्प पर क्लिक किया और अभी भी एक सूडो प्रॉम्प्ट और डिस्क को बाहर करने में विफल होने के बारे में संदेश मिला। मुझे लगता है कि इसे ठीक करने की जरूरत है। मैं सुझाव दूंगा कि आप अपने उत्तर में थोड़ा आगे जाएं और यह बताएं कि खोजक में एक सेवा मेनू से स्क्रिप्ट को प्रयोग करने योग्य बनाने के लिए परीक्षण और कॉन्फ़िगर कैसे करें।
मार्क एडिंगटन

2

यदि टर्मिनल आपको डराता है तो आप उसी चीज़ को पूरा करने के लिए ऑटोमेटर का उपयोग कर सकते हैं:

एक स्वचालक वर्कफ़्लो में ._ *। Mp3।


टर्मिनल मुझे डराता नहीं है जब तक कि मैं rm -rf / नहीं करता और Enter दबाता हूं: P लेकिन मैं ऑटोमेकर सीखना चाहूंगा, अच्छा लग रहा है
कनाडाई ल्यूक

आह, हाँ, यह भी एक अच्छा विचार है।
slhck

क्या चयनित खोजक आइटम यहाँ उपयोगी हैं?
डैनियल बेक

ज़रुरी नहीं। मैं किसी और के मैक पर था और जल्दबाजी में काम करना था।
डिजिटएक्सपी

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