विषयसूची:

अपने कंप्यूटर से उन अवांछित ITunes गाने हटाएं: 10 कदम
अपने कंप्यूटर से उन अवांछित ITunes गाने हटाएं: 10 कदम

वीडियो: अपने कंप्यूटर से उन अवांछित ITunes गाने हटाएं: 10 कदम

वीडियो: अपने कंप्यूटर से उन अवांछित ITunes गाने हटाएं: 10 कदम
वीडियो: Are You still Using Windows 7! 2023 Do this Right Now 2024, जुलाई
Anonim
अपने कंप्यूटर से उन अवांछित ITunes गाने हटाएं
अपने कंप्यूटर से उन अवांछित ITunes गाने हटाएं

हे देवियों और सज्जनों, यह मेरा पहला कोडिंग निर्देश योग्य है, इसलिए कृपया, टिप्पणी करते समय, अपनी बंदूकें घर पर छोड़ दें (चाकू स्वीकार्य हैं, हालांकि)। एमपी 3 प्लेयर के आगमन के साथ, लोगों के लिए अभूतपूर्व मात्रा में ले जाना संभव हो गया है उनकी जेब में उनके साथ संगीत की। ५, १०, यहां तक कि १५ हजार गीतों (और कुछ लोगों, और भी अधिक) के संग्रह वाले लोगों के बारे में सुनना असामान्य नहीं है। एमपी3 प्लेयर्स में से कोई भी ऐप्पल के आईपॉड और इसे चलाने वाले सॉफ्टवेयर, आईट्यून्स से ज्यादा लोकप्रिय नहीं है। हालांकि, इतनी बड़ी म्यूजिक लाइब्रेरी के साथ, ऐसे गानों से छुटकारा पाना थोड़ा कठिन हो सकता है, जो सिर्फ अच्छे या आकर्षक नहीं लगते हैं। तुम इसके बाद। आईट्यून्स में आपके संगीत संग्रह के माध्यम से ट्रैक पर जाने और उन गीतों से छुटकारा पाने में उम्र लग सकती है जो आपको पसंद नहीं हैं। यहीं यह निर्देश योग्य आता है। इस निर्देश में, मैं आपको स्वचालित रूप से गाने से छुटकारा पाने का एक तरीका दिखाऊंगा मेरे अच्छे दोस्त, पर्ल की कुछ सहायता के साथ, यह केवल सादा भयानक है। इस निर्देश को दोहराने का प्रयास करते समय पर्ल का एक अच्छा बुनियादी ज्ञान बेहद मददगार है, हालांकि इसकी आवश्यकता नहीं है (आप निश्चित रूप से केवल तैयार कोड उत्पाद ले सकते हैं और कॉपी / पेस्ट कर सकते हैं) यह और यह ठीक काम करेगा)। पर्ल में रुचि रखने वालों के लिए, मैं ओ'रेली से "लर्निंग पर्ल" पुस्तक की अत्यधिक अनुशंसा करता हूं, यह एक अच्छी पठन है और पर्ल पर सबसे अच्छी लिखित पुस्तकों में से एक है जिसे मुझे पढ़ने का मौका मिला है। महत्वपूर्ण: जबकि यहां प्रस्तुत विधियां काम करेंगी अगर सही तरीके से किया जाता है, तो अगर आप कुछ बेवकूफी करते हैं और अपने कीमती गीतों को हटा देते हैं तो मैं कोई जिम्मेदारी नहीं ले सकता और न ही स्वीकार करूंगा। निम्नलिखित जैसी स्क्रिप्ट लिखने या निष्पादित करने का प्रयास करने से पहले कृपया अपनी संगीत फ़ाइलों का बैकअप लेने पर दृढ़ता से विचार करें। बस सावधानी के तौर पर गलती करें ताकि अगर आप नहीं करते हैं तो हमारी कोई भावना आहत न हो, धन्यवाद।चेतावनी पढ़ें? (हाँ, आप भी, वह व्यक्ति जिसने चेतावनी नहीं पढ़ी) बढ़िया! आइए शुरू करें:-)अपडेट: ऐसा लगता है कि कुछ पर्ल स्क्रिप्टर्स आईट्यून्स स्क्रिप्ट लिखने के काम में कठिन रहे हैं। विभिन्न प्रकार के iTunes-संबंधित स्क्रिप्ट के लिए, Teridon's Scripts देखें।

चरण 1: आरंभ करना

शुरू करना
शुरू करना

जैसा कि सभी चीजों के साथ होता है, इस स्क्रिप्ट को चलाने से पहले हमें थोड़ी तैयारी करनी होगी। तो, चीजें जो आपको आईट्यून्स से गाने को स्वचालित रूप से हटाने की आवश्यकता होगी: 1) एक कंप्यूटर (डुह) 2) आईट्यून्स (डबल डुह) 3) पर्ल (पर्ल के बिना पर्ल स्क्रिप्ट चलाने में मुश्किल है, क्या आप नहीं कहेंगे?) 4) आपका पसंदीदा संपादक (मैं स्वयं vi और vim का समर्थक हूं, लेकिन किसी भी पाठ संपादक को यह चाल चलनी चाहिए) 5) एक iPod (अनिवार्य नहीं, लेकिन उन कारणों के लिए अच्छा है जो जल्द ही स्पष्ट हो जाएंगे) पर्ल प्राप्त करना: का पालन करें यहां दिए गए निर्देश काफी सरल होने चाहिए:https://www.perl.com/download.cspएक बार जब आप पर्ल डाउनलोड, इंस्टॉल और जाने के लिए तैयार हो जाते हैं, तो हम कुछ पृष्ठभूमि की जानकारी चाहते हैं कि हम क्या कर रहे हैं। यह ध्यान दिया जाना चाहिए कि स्क्रिप्ट मूल रूप से मैक ओएस एक्स के लिए विकसित की गई थी, हालांकि समान विधियों को गैर-यूनिक्स आधारित ओएस जैसे विंडोज पर काम करना चाहिए। इंस्ट्रक्शनल के उबाऊ, एर, "शैक्षिक" भाग के लिए समय।

चरण 2: मूल स्क्रिप्ट आइडिया

आईट्यून्स में 5-स्टार रेटिंग सिस्टम शामिल है जो उपयोगकर्ताओं को गानों को रेट करने की अनुमति देता है। 5-स्टार रेटिंग वाले गानों को सबसे अच्छा गाना माना जाता है, जबकि 1-स्टार रेटिंग वाले गानों को सबसे खराब गानों में से एक माना जाता है। हमारे उद्देश्यों के लिए, हम मान लेंगे कि कोई भी गीत जिसमें रेटिंग नहीं है (उर्फ 0 सितारे) वह है जिसे उपयोगकर्ता को अभी तक रेट करने का मौका नहीं मिला है। व्यक्तिगत रूप से, जब गाने की रेटिंग होती है, अगर किसी गाने की 1-स्टार रेटिंग होती है, तो मैं पाते हैं कि यह शायद इतना बुरा है कि यह उस कीमती हार्ड ड्राइव स्थान के लायक नहीं है जो गीत लेता है। इसलिए, पर्ल स्क्रिप्ट मैं आपको इस निर्देश में प्रस्तुत करूंगा, आईट्यून्स लाइब्रेरी के माध्यम से पार्स करेगा और किसी भी ट्रैक को हटा देगा जिसे 1-स्टार रेटिंग दी गई है। एक अतिरिक्त बोनस के रूप में, गाने को रेट किया जा सकता है जब उपयोगकर्ता चल रहा हो एक आइपॉड का उपयोग करना। इस तरह, आप चलते-फिरते गानों को केवल रेटिंग देकर हटाने के लिए चुन सकते हैं, और जब आप बाद में अपने आईपॉड को अपने कंप्यूटर से सिंक करते हैं तो वे अपने आप डिलीट हो जाएंगे (यदि आप अपने आईपॉड को अपने कंप्यूटर से स्वचालित रूप से सिंक करते हैं)। अब जब हम जानते हैं कि क्या हम कर रहे हैं, देखते हैं कि कैसे हम पर्ल स्क्रिप्ट के लिए iTunes से गाने की जानकारी प्राप्त करने जा रहे हैं।

चरण 3: एक्सएमएल लाइब्रेरी: आईट्यून्स गोटो गाय

एक्सएमएल लाइब्रेरी: आईट्यून्स 'गोटो गाय
एक्सएमएल लाइब्रेरी: आईट्यून्स 'गोटो गाय

किसी गीत को उसकी रेटिंग के आधार पर कंप्यूटर से हटाने के लिए, हमें 2 जानकारी की आवश्यकता होती है: गीत की रेटिंग और गीत का स्थान। सौभाग्य से हमारे लिए एक आसान फाइल है जिससे हम आईट्यून्स के बारे में सभी जानकारी प्राप्त कर सकते हैं: आईट्यून्स म्यूजिक लाइब्रेरी एक्सएमएल फाइल। XML फ़ाइल को "iTunes Music Library.xml" कहा जाता है और यह आपकी मुख्य हार्ड ड्राइव पर आपकी संगीत निर्देशिका में स्थित होनी चाहिए।

XML फ़ाइल के बारे में: iTunes xml फ़ाइल एक प्रकार का डेटाबेस है जिसे iTunes द्वारा अनुरक्षित किया जाता है, और हमेशा अद्यतित रखा जाता है। जब iTunes में कोई संशोधन किया जाता है, तो इस परिवर्तन को नोट करने के लिए iTunes XML फ़ाइल के संगत भाग को संशोधित किया जाता है। मेरी iTunes XML फ़ाइल से एक नमूना प्रविष्टि नीचे दी गई है: 1218Track ID1218NameTake On MeArtistA-HaGenre80'sKindMPEG ऑडियो फ़ाइलSize3682382कुल समय230138संशोधित दिनांक 2007-09-24T02:11:30Zदिनांक जोड़ी गई2008-05-28T05:00 खेलने की दिनांक:24ZBit दर128नमूना दर44976818प्ले: 25T01:26:58ZRating40Album Rating40Album Rating ComputedPersistent ID9AC5DB9713240B44Track TypeFileLocationfile://localhost/Volumes/HD1/iTunes%20Music/A-Ha/Unknown%20Album/Take%20On%20Me.mp3File Folder फोल्डर Count4Li को ऊपर Count4Li से देखा जा सकता है। XML फ़ाइल में HTML-शैली टैग से घिरे मान होते हैं। स्क्रिप्ट के प्रयोजनों के लिए, हम जानकारी के ट्रैक आईडी, नाम, कलाकार, रेटिंग और स्थान बिट्स में रुचि लेंगे। यदि आप एक्सएमएल फाइल को देख रहे हैं, तो आप ऊपर से देख सकते हैं कि इस गाने की "रेटिंग" 40 है। आईट्यून्स प्रत्येक गाने को एक पूर्णांक प्रदान करता है, जो 0 से 100 तक होता है, जिसमें प्रत्येक 20 अंक रेटिंग के लिए एक अतिरिक्त स्टार होता है। तो, 20 की रेटिंग 1 स्टार रेटिंग से मेल खाती है, 40 की रेटिंग 2-स्टार रेटिंग है, और इसी तरह 100 रेटिंग 5-स्टार रेटिंग है। तो अब जब हम XML फ़ाइल के बारे में जानते हैं, तो चलिए स्क्रिप्टिंग शुरू करते हैं

चरण 4: आपका मित्र हैश (भले ही आप एम्स्टर्डम में न हों)

योर फ्रेंड द हैश (भले ही आप एम्स्टर्डम में न हों)
योर फ्रेंड द हैश (भले ही आप एम्स्टर्डम में न हों)

इससे पहले कि हम फ़ाइलों को हटा सकें, हमें एक कार्यशील डेटाबेस की आवश्यकता है जो गीत की सभी जानकारी को एक साथ जोड़ता है। जबकि अधिक परिष्कृत डेटा संरचनाएं, जैसे हैश की एक सरणी या हैश की हैश, का उपयोग किया जा सकता है, यह स्क्रिप्ट हैश की एक साधारण सूची के उपयोग के योग्य होने के लिए काफी आसान है। अनियमित के लिए, हैश एक सरणी से ज्यादा कुछ नहीं है जो स्ट्रिंग्स द्वारा अनुक्रमित किया जाता है, या कुंजी/मूल्य जोड़े का एक झुका हुआ द्रव्यमान। कोई हैश को सामान (मानों) के साथ एक बड़े बैरल के रूप में सोच सकता है, और रूपक बैरल में हर चीज में एक टैग (कुंजी) संलग्न होता है। आप बैरल में किसी भी वस्तु को केवल उसका टैग ढूंढकर बाहर खींच सकते हैं। हैश के बारे में अधिक जानकारी के लिए, निम्न लिंक उपयोगी हो सकता है: https://www.tutorialspoint.com/perl/perl_hashes.htmहम इस जानकारी का उपयोग कर सकते हैं कि आईट्यून्स एक्सएमएल फ़ाइल में प्रत्येक गीत को ट्रैक रखने के लिए एक अद्वितीय ट्रैक आईडी दी गई है। गाना। इस वजह से, ट्रैकआईडी हैश के लिए एक आदर्श कुंजी बनाता है। इसलिए, हम गीत शीर्षक, कलाकार, रेटिंग और स्थान के लिए 4 हैश सेट कर सकते हैं। एक बार ये स्थापित हो जाने के बाद, हम फ़ाइल के माध्यम से स्कैन कर सकते हैं और कुछ सरल नियमित अभिव्यक्तियों का उपयोग करके अपने हैश डेटाबेस को भर सकते हैं, जो आगे दिखाया जाएगा।

चरण 5: ए (बहुत) नियमित अभिव्यक्तियों पर संक्षिप्त पाठ

एक्सएमएल फ़ाइल से हमारी हैश प्रविष्टियों को हथियाने के लिए, और खोज में थोड़ा समय बचाने के लिए, हम पर्ल की अधिक शक्तिशाली विशेषताओं में से एक की मदद से कॉल करना चाहते हैं: नियमित अभिव्यक्ति। मैं रेगुलर एक्सप्रेशन पर एक बहुत ही संक्षिप्त पाठ करूंगा, लेकिन आप में से जो अधिक विस्तृत स्पष्टीकरण चाहते हैं, उनके लिए ऑनलाइन बहुत सारे अच्छे रेगुलर एक्सप्रेशन ट्यूटोरियल हैं। एक अच्छे रेगुलर एक्सप्रेशन ट्यूटोरियल के लिए https://perldoc.perl.org/perlretut.html देखें। संक्षेप में, रेगुलर एक्सप्रेशन हमें स्ट्रिंग्स के माध्यम से जाने के लिए टूल का एक सेट प्रदान करते हैं, एक स्ट्रिंग को दूसरी स्ट्रिंग के साथ बदलते हैं, या इसके कुछ हिस्सों को सहेजते हैं। बाद में उपयोग के लिए एक स्ट्रिंग। नियमित अभिव्यक्ति 2 कार्य प्रदान करती है, मिलान (एम//) और प्रतिस्थापन (एस//) ऑपरेटर, जो इस परियोजना के लिए उपयोग किए जाने वाले हैं। असाइनमेंट के संदर्भ में इनमें से किसी भी फ़ंक्शन का उपयोग करने के लिए, हम पर्ल के बाइंडिंग ऑपरेटर (=~) का उपयोग करेंगे, जिसका उपयोग पैटर्न को पसंद के स्ट्रिंग वेरिएबल से बाँधने के लिए किया जाता है। उदाहरण:

$टिप्पणी =~ /पर्ड्यूसर/; यदि $comment string में "Purducer"s/[a-z]/[A-Z]/; # सभी लोअरकेस अक्षरों को स्ट्रिंग में लें और उन्हें $_ स्ट्रिंग में कैपिटल करेंरेगुलर एक्सप्रेशन की दूसरी उपयोगी विशेषता मेमोरी वेरिएबल्स की है। रेगुलर एक्सप्रेशन में, आप कुछ आइटम्स को कोष्ठक में रख सकते हैं, और फिर बाद में इन भागों से मेल खाने वाले स्ट्रिंग्स के भागों तक पहुँचने के लिए विशेष पैटर्न मैच मेमोरी वैरिएबल $1, $2, आदि का उपयोग कर सकते हैं। उदाहरण

/(निर्देश) रोबोट/; # किसी भी पंक्ति का मिलान "इंस्ट्रक्शंसेबल रोबोट" वाक्यांश के साथ करें$वेबसाइट = $1; # माता-पिता के पहले सेट में निहित सफल पैटर्न मैच का परिणाम सहेजें # (इस मामले में, चर $ 1 में "निर्देश" शामिल हैं)अंत में, रेगुलर एक्सप्रेशन में, कुछ ऐसे वर्ण होते हैं जो एक विशेष उद्देश्य की पूर्ति करते हैं। ये बैकस्लैश एस्केप हैं (जिनमें से सभी सी प्रोग्रामर से परिचित दिखना चाहिए), चरित्र वर्ग और मेटाएक्टेक्टर। उदाहरण के लिए, किसी एक अक्षर का मिलान करने के लिए जिसके दोनों ओर एक टैब हो, हम कह सकते हैं

/\t[a-zA-Z]\t/एक वर्ण वर्ग को परिभाषित करने के लिए उन वर्ग कोष्ठकों का उपयोग नियमित अभिव्यक्तियों में किया जाता है। हालाँकि, मान लीजिए कि हम पंक्ति में वर्गाकार कोष्ठकों में संलग्न पाठ को खोजना चाहते हैं। जैसा कि नीचे दिखाया गया है, हम इसे यूं ही नहीं लिख सकते हैं

/

/

चरण 6: ITunes स्क्रिप्ट में नियमित अभिव्यक्ति लागू करना

आईट्यून्स स्क्रिप्ट में रेगुलर एक्सप्रेशन लागू करना
आईट्यून्स स्क्रिप्ट में रेगुलर एक्सप्रेशन लागू करना

अब जबकि हमें उम्मीद है कि रेगुलर एक्सप्रेशन को सशक्त करने वाली बुनियादी अंतर्निहित अवधारणाओं पर कुछ समझ आ गई है, तो इसे iTunes स्क्रिप्ट पर लागू करने का समय आ गया है। xml कोड पढ़ते समय, कुछ वर्ण, जैसे फ़ॉरवर्ड स्लैश, का अक्सर सामना करना पड़ता है। इसलिए, हम इस तथ्य का लाभ उठाएंगे कि m// ऑपरेटर आपको कोड में जो भी सीमांकक चाहते हैं उसे चुनने दें (हम वर्ग कोष्ठक का उपयोग करेंगे, हालांकि अन्य सीमांकक निश्चित रूप से काम करेंगे) सबसे पहले, हमें केवल एक भाग को पढ़ने की आवश्यकता है पूर्ण iTunes XML फ़ाइल। प्लेलिस्ट आदि जैसी जानकारी वाली फ़ाइल के भाग आवश्यक नहीं हैं। प्लेलिस्ट अनुभाग की पहली पंक्ति, जो गीत की जानकारी के बाद आती है, निम्न की तरह दिखती है: प्लेलिस्टइसलिए, थोड़ी देर के लूप में, हम एक बयान में जोड़ सकते हैं जो फ़ाइल पढ़ने के अंत में कूदता है यदि वह पंक्ति का सामना करना पड़ता है।

जबकि () {#loop_instructions_here आखिरी अगर ($_ =~ मी [प्लेलिस्ट])}इसके बाद, हैश आईडी बनाने के लिए, हम अपने डेटाबेस हैश बनाने के लिए एक if-elsif ट्री का उपयोग कर सकते हैं, मेमोरी मैच वेरिएबल्स का उपयोग करके जो हमने पिछले चरण में हैश में मानों को सहेजने के लिए सीखा था

अगर($_ =~ एम[(d+)]) { $id = $1; } elsif($_ =~ m[रेटिंग(d+)]) { $rate_hash{$id} = $1; } elsif($_ =~ m[Name(.+)]) { $name_hash{$id} = $1; } elsif($_ =~ m[कलाकार(.+)]) { $art_hash{$id} = $1; } elsif($_ =~ m[Locationfile://localhost(.*)]) { $loc_hash{$id} = $1; }अब जब हमने अपने हैश डेटाबेस के आधार का निर्माण कर लिया है, तो हम 1-स्टार फ़ाइलों का पता लगाने और हटाने को कवर करेंगे, इसलिए अगले चरण पर आगे बढ़ें!

चरण 7: उन 1-स्टार ट्रैक्स को ढूंढना और हटाना

उन 1-स्टार ट्रैक्स को ढूंढना और हटाना
उन 1-स्टार ट्रैक्स को ढूंढना और हटाना

अब जब हमारे पास हमारा डेटाबेस सेट हो गया है, तो 1-स्टार ट्रैक की तलाश करने का समय आ गया है, ताकि हम उन्हें हटा सकें। पर्ल एक उपयोगी लूपिंग निर्माण प्रदान करता है जिसे फ़ोरैच लूप कहा जाता है जिसका उपयोग हमारे हैश की सभी कुंजियों पर पुनरावृति करने के लिए किया जा सकता है। यह ध्यान दिया जाना चाहिए कि आपके आईट्यून्स लाइब्रेरी के प्रत्येक ट्रैक में रेटिंग हैश में एक प्रविष्टि नहीं होगी। ऐसा इसलिए है क्योंकि जिन गानों की रेटिंग नहीं होती है, उन्हें iTunes XML फ़ाइल में ट्रैक रेटिंग लाइन नहीं दी जाती है। इसलिए, हैश के माध्यम से लूप करते समय, हम निम्नलिखित निर्माण का उपयोग करना चाहेंगे:

foreach $id (सॉर्ट कीज़ %rate_hash) {#…यहां लूपिंग कोड डालें}उसके बाद, यह निम्न कथन का उपयोग करने जितना आसान है

अनलिंक $loc_hash{$id} अगर $rate_hash{$id} == 20;उपरोक्त नमूना कोड में उपयोग किया गया अनलिंक फ़ंक्शन पर्ल का फ़ाइलों को हटाने का तरीका है। आप अपने ऑपरेटिंग सिस्टम के डिलीट फंक्शन के लिए सिस्टम कॉल का उपयोग करने के लिए ललचा सकते हैं, लेकिन पोर्टेबिलिटी कारणों से मैंने जो कोड लिखा है वह सिस्टम कॉल का उपयोग नहीं करता है। अब हमारे पास हमारे कोड के लिए मूल संरचना है। निम्नलिखित चरणों में, हम कोड में कुछ परिशोधन करेंगे ताकि आपके पास उन अजीब 1-सितारों से छुटकारा पाने के लिए एक पूर्ण विशेषताओं वाली, कार्यात्मक स्क्रिप्ट हो।

चरण 8: यूआरआई बच निकलता है और उनके आसपास कैसे पहुंचें

यदि आप स्क्रिप्ट को वैसे ही चलाने का प्रयास करते हैं, तो आप अपने ऑपरेटिंग सिस्टम से कई त्रुटियों में भाग लेंगे, और यदि आप उन फ़ाइल पथों को देखते हैं जिन्हें आप हटाने का प्रयास कर रहे हैं, तो आप उन पथों में असामान्य वर्ण पा सकते हैं जो अवांछनीय हैं। इस बात की बहुत अच्छी संभावना है कि इन पथों में URI एस्केप वर्ण हों। URI एस्केप क्या हैं? एचटीएमएल और एक्सएमएल में, यूआरआई एस्केप कैरेक्टर (उर्फ यूआरआई एस्केप) विशेष मेटाएक्टेक्टर हैं जो उस चरित्र के शाब्दिक उदाहरणों की खोज के लिए उपयोग किए जाते हैं। उदाहरण के लिए, आप XML वर्ण स्ट्रिंग में एक साधारण खाली स्थान कभी नहीं देखेंगे। हालाँकि, आप एक साधारण खाली स्थान,% 20 का XML प्रतिनिधित्व देखेंगे। (निश्चित रूप से आपने इन्हें अपने ब्राउज़र में यूआरएल बार में देखा है और सोचा है कि वे क्या थे। ठीक है, अब आप जानते हैं) एक यूआरआई एस्केप में % चिह्न होता है जिसके बाद 2 अंकों का हेक्साडेसिमल कोड होता है जो चरित्र के ASCII मान का प्रतिनिधित्व करता है। इस पर बिंदु, आप अपने द्वारा सामना किए जाने वाले प्रत्येक संभावित मेटाएक्टेक्टर को बदलने के लिए स्थान हैश पर प्रतिस्थापन कथनों का एक पूरा समूह लिख सकते हैं (यानी $loc_hash{$id} =~ s/%20/ /; और इसी तरह)। सौभाग्य से, हालांकि, पर्ल इन चीजों का ख्याल रखने के लिए एक बेहतर तरीका प्रदान करता है। पर्ल यूआरआई:: एस्केप नामक मॉड्यूल के साथ आता है, जिसमें एक अंतर्निहित कार्य है, uri_unescape, जो हमारे लिए यूआरआई एस्केप को खत्म करने का काम करेगा।. मॉड्यूल का उपयोग करने के लिए, बस अपने कोड के शीर्ष पर निम्न पंक्ति जोड़ें:

यूआरआई:: एस्केप का उपयोग करें;अब, जब हम XML फ़ाइल लूप में $loc_hash{$id} सरणी निर्दिष्ट करते हैं, तो हम बाद में निम्न पंक्ति जोड़ सकते हैं

uri_unescape($loc_hash{$id});उपरोक्त पंक्ति स्वचालित रूप से किसी भी यूआरआई एस्केप वर्ण को हटा देती है। एक अतिरिक्त बोनस के रूप में, यह कुछ अंतरराष्ट्रीय पात्रों का भी अनुवाद करता है। मैंने स्क्रिप्ट को कुछ फ़ाइलपथों के साथ चलाया जिनमें जापानी कोन्जी थे, और uri_unescape फ़ंक्शन ने उन वर्णों के XML स्वरूपों को उनके मूल वर्णों में अनुवादित किया ताकि अनलिंक फ़ाइल को सफलतापूर्वक हटा सके। इससे पहले कि हम आगे बढ़ें, एक अतिरिक्त कदम उठाया जाना चाहिए. जिन कारणों से मैं पूरी तरह से समझ नहीं पा रहा हूं, उनके लिए iTunes एम्परसेंड (&) प्रतीक को & के रूप में एन्कोड करता है। अगर किसी को पता है कि ऐसा क्यों है तो कृपया मुझे बताएं। इस बीच, हम uri_unescape लाइन के अंतर्गत निम्न पंक्ति जोड़कर इस समस्या को समाप्त करते हैं

$loc_hash{$id} =~ s/&#/&/;अब स्क्रिप्ट में अजीब वर्णों के फ़ाइलपथ स्पष्ट होंगे, और अनलिंक फ़ंक्शन उन्हें हटाने के लिए उनके उचित स्थानों में फ़ाइलों को खोजने में सक्षम होगा। ठीक है, यदि आप मैक ओएसएक्स (और संभवतः अधिकांश अन्य यूनिक्स-आधारित ओएस भी) का उपयोग कर रहे हैं तो यह होगा। अन्य ऑपरेटिंग सिस्टम (अर्थात्, विंडोज़) पर स्क्रिप्ट को संगत बनाने के लिए आगे पढ़ें।

चरण 9: विंडोज़ में स्क्रिप्ट संगतता जोड़ना

विंडोज़ में स्क्रिप्ट संगतता जोड़ना
विंडोज़ में स्क्रिप्ट संगतता जोड़ना

स्क्रिप्ट, जैसा कि अब तक लिखा गया है, यूनिक्स-आधारित ऑपरेटिंग सिस्टम पर ट्रैक को प्रभावी ढंग से हटा देता है। इसे विंडोज़ पर काम करने के लिए, एक मामूली जोड़ की आवश्यकता है। मैक और अन्य यूनिक्स-आधारित ओएस के विपरीत, विंडोज़ एकल रूट निर्देशिका की अवधारणा का समर्थन नहीं करता है। इसलिए, रूट निर्देशिका (/) के विपरीत, सभी पथनाम वॉल्यूम (सी: या ई: या किसी अन्य अक्षर के बारे में आप सोच सकते हैं) से शुरू होते हैं। सौभाग्य से, पर्ल के पास एक विशेष चर है, $O (यह एक कैपिटल o है, शून्य नहीं), जो हमें बताता है कि हम वर्तमान में किस ऑपरेटिंग सिस्टम का उपयोग कर रहे हैं। इसलिए, यदि उस चर में संग्रहीत मान में "जीत" है, तो हम अपने XML स्थान फ़ाइलपथ पर अग्रणी स्लैश को हटाना चाहते हैं। यह कोड की निम्नलिखित पंक्ति के साथ किया जा सकता है (जब हम एक्सएमएल फ़ाइल से ट्रैक के स्थान को सफलतापूर्वक पार्स करते हैं तो जोड़ा जाता है):

$loc_hash{$id} = substr($loc_hash{$id}, 1) अगर $^O =~ /Win/i;अब, स्क्रिप्ट काम करेगी चाहे वह ओएस एक्स या विंडोज पर चलती हो।

चरण 10: पूर्ण स्क्रिप्ट

पूरी हुई स्क्रिप्ट
पूरी हुई स्क्रिप्ट

आप में से उन लोगों के लिए जो केवल अंतिम उत्पाद चाहते थे, न कि यह कैसे काम करता है, इस पर स्पष्टीकरण के लिए पूर्ण आईट्यून्स ऑटोडिलीशन स्क्रिप्ट का मेरा संस्करण संलग्न है।

स्क्रिप्ट का उपयोग करने के लिए आप फ़ाइल को एक पर्ल फ़ाइल (.pl एक्सटेंशन) के रूप में सहेजना चाहेंगे और फिर इसे निष्पादन योग्य बनाना चाहेंगे (यूनिक्स में chmod 751, सुनिश्चित नहीं है कि यह विंडोज सिस्टम के लिए क्या है)।

सिफारिश की: