جدول المحتويات:

احذف أغاني iTunes غير المرغوب فيها من جهاز الكمبيوتر الخاص بك: 10 خطوات
احذف أغاني iTunes غير المرغوب فيها من جهاز الكمبيوتر الخاص بك: 10 خطوات

فيديو: احذف أغاني iTunes غير المرغوب فيها من جهاز الكمبيوتر الخاص بك: 10 خطوات

فيديو: احذف أغاني iTunes غير المرغوب فيها من جهاز الكمبيوتر الخاص بك: 10 خطوات
فيديو: حذف اي برنامج من الكمبيوتر بشكل نهائيًا 2024, يوليو
Anonim
احذف أغاني iTunes غير المرغوب فيها من جهاز الكمبيوتر الخاص بك
احذف أغاني iTunes غير المرغوب فيها من جهاز الكمبيوتر الخاص بك

مرحبًا أيها السيدات والسادة ، هذا هو أول تدريب لي بشأن الترميز ، لذا من فضلك ، عند التعليق ، اترك مسدساتك في المنزل (السكاكين مقبولة ، ومع ذلك) مع ظهور مشغلات mp3 ، أصبح من الممكن للأشخاص حمل كميات غير مسبوقة من الموسيقى حولهم في جيوبهم. ليس من غير المألوف أن تسمع عن أشخاص لديهم مجموعات من 5 أو 10 أو حتى 15 ألف أغنية (وبعض الأشخاص ، أكثر من ذلك). من بين مشغلات mp3 ، ليس هناك ما هو أكثر شهرة من iPod الخاص بشركة Apple والبرامج التي تشغلها iTunes ، ومع ذلك ، مع مكتبات الموسيقى الكبيرة ، قد يصبح التخلص من الأغاني التي لا تبدو جيدة أو جذابة إلى حد ما مملة إلى حد ما لك بعد الآن. قد يستغرق الأمر وقتًا طويلاً للانتقال إلى المسار تلو الآخر من خلال مجموعة الموسيقى الخاصة بك في iTunes والتخلص من الأغاني التي لا تحبها. وهنا يأتي دور هذا التوجيه. في هذا الدليل ، سأوضح لك طريقة للتخلص تلقائيًا من الأغاني التي هي مجرد فظيعة ، مع بعض المساعدة من صديقي العزيز ، Perl. المعرفة الأساسية الجيدة لـ Perl مفيدة للغاية عند محاولة تكرار هذه التعليمات ، على الرغم من أنها ليست مطلوبة (يمكنك بالتأكيد أخذ منتج الكود النهائي ونسخه / لصقه وستعمل بشكل جيد). لأولئك المهتمين بـ Perl ، أوصي بشدة بكتاب "Learning Perl" من O'Reilly ، إنه كتاب جيد القراءة وواحد من أفضل الكتب المكتوبة عن Perl التي أتيحت لي الفرصة لقراءتها. هام: بينما الطرق المقدمة هنا ستعمل إذا تم القيام به بشكل صحيح ، لا يمكنني ولن أتقبل أي مسؤولية ببساطة إذا فعلت شيئًا غبيًا وحذفت أغانيك الثمينة. يرجى التفكير بشدة في نسخ ملفات الموسيقى احتياطيًا قبل محاولة كتابة أو تنفيذ برنامج نصي مثل ما يلي. فقط أخطئ في جانب الحذر حتى لا نشعر بأذى إذا لم تجرح ، شكرًا. اقرأ التحذير؟ (نعم ، حتى أنت ، الشخص الذي لم يقرأ التحذير) عظيم! لنبدأ:-) التحديث: يبدو أن بعض المبرمجين في بيرل كانوا يعملون بجد في كتابة نصوص iTunes. لمجموعة متنوعة من البرامج النصية المتعلقة بـ iTunes ، تحقق من نصوص Teridon.

الخطوة الأولى: البدء

ابدء
ابدء

كما هو الحال مع كل الأشياء ، هناك القليل من التحضير الذي يجب القيام به قبل أن نتمكن من تشغيل هذا البرنامج النصي. لذلك ، الأشياء التي ستحتاجها لحذف الأغاني تلقائيًا من iTunes: 1) كمبيوتر (duh) 2) iTunes (مزدوج) 3) Perl (من الصعب تشغيل نص Perl بدون Perl ، ألا تقولي؟) 4) المحرر المفضل (أنا من دعاة vi و vim بنفسي ، ولكن أي محرر نصوص يجب أن يقوم بالخدعة) 5) جهاز iPod (ليس إلزاميًا ، ولكن من الجيد امتلاكه لأسباب سيتم توضيحها قريبًا بما فيه الكفاية) Getting Perl: اتبع التعليمات هنا ، يجب أن تكون بسيطة بما يكفي: https://www.perl.com/download.csp بمجرد تنزيل Perl وتثبيته واستعداده للعمل ، سنحتاج إلى بعض المعلومات الأساسية حول ما نقوم به. تجدر الإشارة إلى أن البرنامج النصي تم تطويره في الأصل لنظام التشغيل Mac OS X ، على الرغم من أن نفس الأساليب يجب أن تعمل على أنظمة تشغيل لا تعتمد على Unix مثل Windows. حان الوقت للجزء "التعليمي" الممل من Instructable.

الخطوة 2: فكرة البرنامج النصي الأساسية

يشتمل iTunes على نظام تصنيف 5 نجوم للسماح للمستخدمين بتقييم الأغاني. تعتبر الأغاني ذات التصنيف 5 نجوم من أفضل الأغاني بينما يُفترض أن تكون الأغاني ذات التصنيف بنجمة واحدة من أسوأ الأغاني. لأغراضنا ، سنفترض أن أي أغنية تفتقر إلى التصنيف (تُعرف أيضًا باسم 0 نجوم) هي أغنية لم تتح للمستخدم فرصة تقييمها بعد. تجد أنه من المحتمل أن يكون سيئًا بدرجة كافية بحيث لا يستحق مساحة القرص الصلب الثمينة التي تشغلها الأغنية. لذلك ، فإن Perl Script الذي سأقدمه لك في Instructable هذا سيحلل من خلال مكتبة iTunes ويحذف أي مسار تم تعيينه بنجمة واحدة كمكافأة إضافية ، يمكن تصنيف الأغاني أثناء تنقل المستخدم باستخدام جهاز iPod. بهذه الطريقة ، يمكنك تحديد الأغاني للحذف أثناء التنقل ببساطة عن طريق تصنيفها ، وسيتم حذفها تلقائيًا عند مزامنة جهاز iPod الخاص بك مع جهاز الكمبيوتر الخاص بك لاحقًا (إذا قمت تلقائيًا بمزامنة جهاز iPod الخاص بك مع جهاز الكمبيوتر الخاص بك). نقوم به ، دعنا نرى كيف سنقوم بسحب معلومات الأغنية من iTunes من أجل Perl Script.

الخطوة 3: مكتبة XML: Goto Guy

مكتبة XML: غوتو جاي آي تيونز
مكتبة XML: غوتو جاي آي تيونز

لحذف أغنية من الكمبيوتر بناءً على تصنيفها ، نحتاج إلى معلومتين: تصنيف الأغنية وموقع الأغنية. لحسن الحظ ، يوجد ملف سهل الاستخدام يمكننا الحصول على جميع المعلومات التي أردناها حول iTunes من: ملف XML لمكتبة الموسيقى iTunes. يُطلق على ملف XML اسم "iTunes Music Library.xml" ويجب أن يكون موجودًا في دليل الموسيقى على محرك الأقراص الثابتة الرئيسي.

حول ملف XML: ملف iTunes xml هو نوع من قاعدة البيانات التي يحتفظ بها iTunes ، ويتم تحديثها دائمًا. عند إجراء تعديل في iTunes ، يتم تعديل الجزء المقابل من ملف iTunes XML لملاحظة هذا التغيير. تم تقديم نموذج إدخال من ملف iTunes XML الخاص بي أدناه: 1218Track ID1218NameTake On MeArtistA-HaGenre80'sKindMPEG ملف صوتي الحجم 3682382 إجمالي الوقت 230138 تاريخ التعديل2007-09-24T02: 11: 30Z تاريخ الإضافة 2008-05-28T05: 00: 24ZBlay Rate128Sample Rate244100Play 25T01: 26: 58ZRating40Album Rating 40Album Rating ComputedPeristent ID9AC5DB9713240B44Track TypeFileLocationfile: //localhost/Volumes/HD1/iTunes٪20Music/A-Ha/Unknown٪20Album/Take٪20On٪20 CountMe.mp3 يتكون ملف XML من قيم محاطة بعلامات نمط HTML. لأغراض البرنامج النصي ، سنكون مهتمين بمعرف المسار والاسم والفنان والتقييم والموقع بتات المعلومات. إذا كنت تبحث في ملف XML ، فقد تلاحظ من الأعلى أن هذه الأغنية لها "تصنيف" 40. يخصص iTunes لكل أغنية عددًا صحيحًا ، يتراوح من 0 إلى 100 ، مع كون كل 20 نقطة نجمة إضافية للتصنيف. لذا ، فإن التقييم 20 يتوافق مع تصنيف 1 نجمة ، والتقييم 40 هو تصنيف بنجمتين ، وهكذا دواليك ، مع تصنيف 100 من فئة 5 نجوم. والآن بعد أن علمنا بملف XML ، فلنبدأ في البرمجة النصية

الخطوة 4: صديقك الهاش (حتى لو لم تكن في أمستردام)

صديقك الهاش (حتى لو لم تكن في أمستردام)
صديقك الهاش (حتى لو لم تكن في أمستردام)

قبل أن نتمكن من حذف الملفات ، نحتاج إلى قاعدة بيانات عاملة تربط جميع معلومات الأغنية معًا. بينما يمكن استخدام هياكل البيانات الأكثر تعقيدًا ، مثل مجموعة من التجزئة أو تجزئة التجزئة ، فإن هذا البرنامج النصي بسيط بما يكفي لاستحقاق استخدام قائمة بسيطة من التجزئة. مفهرسة بالسلاسل ، أو كتلة مختلطة من أزواج المفاتيح / القيمة. يمكن للمرء أن يفكر في التجزئة على أنها برميل كبير به أشياء (القيم) فيه ، وكل شيء في البرميل المجازي به علامة (المفاتيح) مرفقة. يمكنك سحب أي عنصر في البرميل للخارج ببساطة عن طريق إيجاد علامته. لمزيد من المعلومات حول التجزئة ، قد يكون الرابط التالي مفيدًا: https://www.tutorialspoint.com/perl/perl_hashes.htm يمكننا استخدام المعلومات التي تفيد بأن كل أغنية في ملف iTunes XML يتم تعيين معرف مسار فريد لتتبعها الأغاني. لهذا السبب ، فإن trackID يمثل مفتاحًا مثاليًا للتجزئة. لذلك ، يمكننا إعداد 4 تجزئات لعنوان الأغنية والفنان والتصنيف والموقع. بمجرد إنشاء هذه ، يمكننا مسح الملف وملء قاعدة بيانات التجزئة الخاصة بنا باستخدام بعض التعبيرات العادية البسيطة ، والتي سيتم عرضها بعد ذلك.

الخطوة 5: درس موجز (جدًا) عن التعبيرات العادية

من أجل الحصول على إدخالات التجزئة الخاصة بنا من ملف XML ، وكذلك توفير القليل من الوقت في البحث ، سنرغب في الاستعانة بإحدى ميزات Perl الأكثر قوة: التعبير العادي. سأقدم درسًا موجزًا جدًا عن التعبيرات العادية ، ولكن بالنسبة لأولئك الذين يريدون توضيحات أكثر تفصيلاً ، هناك الكثير من دروس التعبير العادي الجيدة عبر الإنترنت. راجع https://perldoc.perl.org/perlretut.html للحصول على برنامج تعليمي جيد للتعبير العادي. باختصار ، تزودنا التعبيرات العادية بمجموعة من الأدوات لتصفح السلاسل أو استبدال سلسلة بسلسلة أخرى أو حفظ أجزاء من سلسلة لاستخدامها لاحقًا. توفر التعبيرات العادية وظيفتين ، عامل التشغيل المطابق (m //) والاستبدال (s //) ، الذي سيتم استخدامه لهذا المشروع. لاستخدام أي من هاتين الوظيفتين في سياق التخصيص ، سنستخدم عامل ربط Perl (= ~) ، والذي يستخدم لربط نمط بمتغير سلسلة من الاختيار.

تعليق $ = ~ / Purduecer / ؛ #returns true إذا كانت سلسلة التعليق $ تحتوي على عبارة "Purduecer" s / [a-z] / [A-Z] /؛ # خذ كل الأحرف الصغيرة في السلسلة واكتبها بأحرف كبيرة في سلسلة $ _الميزة الثانية المفيدة للتعبيرات العادية هي متغيرات الذاكرة. في التعبيرات العادية ، يمكنك وضع عناصر معينة بين قوسين ، ثم استخدام متغيرات ذاكرة مطابقة النمط الخاص $ 1 و $ 2 وما إلى ذلك للوصول إلى أجزاء السلاسل التي تطابق هذه الأجزاء لاحقًا.

/ (التعليمات) روبوت / ؛ # تطابق أي سطر مع عبارة "Instructables Robot" $ website = $ 1؛ #Save نتيجة مطابقة النمط الناجحة الموجودة في المجموعة الأولى من الأقواس # (في هذه الحالة ، يحتوي المتغير $ 1 على "Instructables")أخيرًا ، في التعبيرات النمطية ، هناك بعض الأحرف التي تخدم غرضًا خاصًا. هذه هي عمليات الهروب بالخط المائل العكسي (وكلها يجب أن تبدو مألوفة لمبرمجي لغة سي) ، وفئات محارف وحروف أولية. على سبيل المثال ، لمطابقة أي حرف واحد يحتوي على علامة تبويب على كلا الجانبين ، يمكننا القول

/ / t [a-zA-Z] t /تستخدم هذه الأقواس المربعة في التعبيرات العادية لتعريف فئة الحرف. افترض ، مع ذلك ، أننا أردنا العثور على نص محاط بأقواس مربعة في السطر. لم نتمكن ببساطة من كتابتها كما هي ، كما هو موضح أدناه

/

/

الخطوة 6: تطبيق التعبيرات العادية على برنامج iTunes Script

تطبيق التعبيرات العادية على البرنامج النصي ITunes
تطبيق التعبيرات العادية على البرنامج النصي ITunes

الآن وبعد أن أصبح لدينا بعض المعرفة حول المفاهيم الأساسية الأساسية التي تعمل على تشغيل التعبيرات العادية ، فقد حان الوقت لتطبيقها على برنامج iTunes النصي. عند قراءة كود xml ، يتم مصادفة بعض الأحرف ، مثل الشرطة المائلة للأمام ، في كثير من الأحيان. لذلك ، سوف نستفيد من حقيقة أن عامل التشغيل m // يتيح لك اختيار أي محددات تريدها في الكود (سنستخدم الأقواس المربعة ، على الرغم من أن المحددات الأخرى ستعمل بالتأكيد) أولاً ، نحتاج فقط إلى قراءة جزء من ملف iTunes XML الكامل. أجزاء الملف التي تحتوي على معلومات مثل قوائم التشغيل وما إلى ذلك ليست ضرورية. يبدو السطر الأول من قسم قوائم التشغيل ، الذي يأتي بعد معلومات الأغنية ، كما يلي: قوائم التشغيل ، لذلك ، في حلقة while loop ، يمكننا إضافة عبارة تنتقل إلى نهاية ملف القراءة إذا تمت مصادفة هذا السطر.

while () {#loop_instructions_here last if ($ _ = ~ m [Playlists])}بعد ذلك ، لبناء معرفات التجزئة ، يمكننا استخدام شجرة if-elsif لبناء تجزئات قاعدة البيانات الخاصة بنا ، باستخدام متغيرات تطابق الذاكرة التي تعلمناها في الخطوة السابقة لحفظ القيم في التجزئة

إذا ($ _ = ~ m [(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؛ }الآن بعد أن قمنا ببناء أساس قاعدة بيانات التجزئة الخاصة بنا ، سنغطي تحديد مكان وإزالة الملفات ذات نجمة واحدة ، لذا فانتقل إلى الخطوة التالية!

الخطوة 7: تحديد موقع تلك المسارات ذات النجمة الواحدة وحذفها

تحديد موقع وحذف تلك المسارات ذات النجمة الواحدة
تحديد موقع وحذف تلك المسارات ذات النجمة الواحدة

الآن بعد أن تم إعداد قاعدة البيانات الخاصة بنا ، حان الوقت للبحث عن المسارات ذات النجمة الواحدة ، حتى نتمكن من حذفها. يوفر Perl بنية حلقة مفيدة تسمى حلقة foreach والتي يمكن استخدامها للتكرار على جميع مفاتيح التجزئة لدينا. وتجدر الإشارة إلى أنه لن يكون لكل مسار في مكتبة iTunes الخاصة بك إدخال في تجزئة التصنيفات. هذا لأن الأغاني التي ليس لها تصنيف لا يتم منحها خط تصنيف المسار في ملف iTunes XML. لذلك ، عند إجراء التكرار عبر التجزئة ، سنرغب في استخدام البنية التالية:

foreach $ id (Sort keys٪ rate_hash) {#… أدخل رمز التكرار هنا}بعد ذلك ، يكون الأمر بسيطًا مثل استخدام العبارة التالية

إلغاء ربط $ loc_hash {$ id} إذا كان $ rate_hash {$ id} == 20؛وظيفة إلغاء الارتباط المستخدمة في نموذج التعليمات البرمجية أعلاه هي طريقة Perl لحذف الملفات. قد تميل إلى استخدام استدعاء النظام لوظيفة حذف نظام التشغيل الخاص بك ، ولكن لأسباب تتعلق بقابلية النقل ، لا يستخدم الرمز الذي كتبته استدعاء النظام ، فلدينا الآن البنية الأساسية للكود الخاص بنا. في الخطوات التالية ، سنجري بعض التحسينات على الكود بحيث يمكنك الحصول على نص برمجي وظيفي كامل الميزات للتخلص من تلك النجوم 1 المزعجة.

الخطوة 8: هروب URI وكيفية التغلب عليها

إذا حاولت تشغيل البرنامج النصي كما هو ، فستواجه العديد من الأخطاء من نظام التشغيل الخاص بك ، وإذا نظرت إلى مسارات الملفات التي تحاول حذفها ، فقد تجد أحرفًا غير عادية مضمنة في المسارات غير المرغوب فيها. هناك فرصة جيدة أن تحتوي هذه المسارات على أحرف URI الهروب. ما هي عمليات الهروب URI؟ في HTML و XML ، تعتبر أحرف URI الهروب (المعروفة أيضًا باسم هروب URI) أحرف أولية خاصة تُستخدم للبحث عن مثيلات حرفية لهذا الحرف. على سبيل المثال ، لن ترى أبدًا مسافة بيضاء بسيطة في سلسلة أحرف XML. ومع ذلك ، سترى تمثيل XML لمسافة بيضاء بسيطة ،٪ 20. (من المؤكد أنك رأيت هذه في شريط عنوان URL في متصفحك وتساءلت عما كانت عليه. حسنًا ، أنت تعرف الآن) يتكون الهروب من URI من علامة٪ متبوعة برمز سداسي عشري مكون من رقمين يمثل قيمة ASCII الخاصة بالشخصية. نقطة ، يمكنك كتابة مجموعة كاملة من عبارات الاستبدال على تجزئة الموقع لاستبدال كل حرف أولي محتمل تصادفه (مثل $ loc_hash {$ id} = ~ s /٪ 20 / / ؛ وهكذا). لحسن الحظ ، على الرغم من ذلك ، توفر Perl طريقة أفضل للعناية بهذه الأشياء. يأتي Perl مجمعة مع وحدة تسمى URI:: Escape ، والتي تحتوي على وظيفة مضمنة ، uri_unescape ، والتي ستقوم بمهمة إزالة URI عمليات الهروب بالنسبة لنا. لاستخدام الوحدة ، ما عليك سوى إضافة السطر التالي في الجزء العلوي من التعليمات البرمجية الخاصة بك:

استخدام URI:: Escape ؛الآن ، بعد تعيين المصفوفة $ loc_hash {$ id} في حلقة ملف XML ، يمكننا إضافة السطر التالي بعد ذلك

uri_unescape ($ loc_hash {$ id}) ؛يحذف السطر أعلاه تلقائيًا أي أحرف هروب URI. كمكافأة إضافية ، فإنه يترجم بعض الأحرف الدولية أيضًا. قمت بتشغيل البرنامج النصي مع عدد قليل من مسارات الملفات التي تحتوي على konji اليابانية فيها ، وترجمت وظيفة uri_unescape تنسيقات XML لتلك الأحرف إلى أحرفها الأصلية حتى يتمكن إلغاء الربط من حذف الملف بنجاح. قبل أن ننتقل ، يجب اتخاذ خطوة إضافية واحدة. لأسباب لا أفهمها تمامًا ، يقوم iTunes بتشفير رمز العطف (&) على أنه & في سلاسله. إذا كان أي شخص يعرف سبب ذلك ، فيرجى إبلاغي بذلك. في غضون ذلك ، نقوم بإزالة هذه المشكلة عن طريق إضافة السطر التالي أسفل سطر uri_unescape

$ loc_hash {$ id} = ~ s / &#/ & /؛الآن سيحتوي البرنامج النصي على مسارات ملفات خالية من الأحرف الغريبة ، وستتمكن وظيفة إلغاء الارتباط من العثور على الملفات في مواقعها المناسبة لحذفها. حسنًا ، إذا كنت تستخدم نظام التشغيل Mac OSX (ويفترض أيضًا معظم أنظمة التشغيل الأخرى المستندة إلى Unix). تابع القراءة لجعل البرنامج النصي متوافقًا مع أنظمة التشغيل الأخرى (تحديدًا ، Windows).

الخطوة 9: إضافة توافق البرنامج النصي إلى Windows

إضافة توافق البرنامج النصي إلى Windows
إضافة توافق البرنامج النصي إلى Windows

البرنامج النصي ، كما هو مكتوب حتى الآن ، يزيل بشكل فعال المسارات على أنظمة التشغيل المستندة إلى Unix. لجعله يعمل على Windows ، هناك حاجة إلى إضافة بسيطة واحدة. على عكس Mac وأنظمة التشغيل الأخرى المستندة إلى Unix ، لا يدعم Windows مفهوم دليل جذر واحد. لذلك ، تبدأ جميع أسماء المسار بمجلد (C: أو E: أو أي حرف آخر يمكنك التفكير فيه ، في هذا الشأن) بدلاً من الدليل الجذر (/).O (وهي حرف o وليس صفرًا) ، وهذا يخبرنا بنظام التشغيل الذي نستخدمه حاليًا. لذلك ، إذا كانت القيمة المخزنة في هذا المتغير تحتوي على "Win" ، فسنريد إزالة الشرطة المائلة البادئة من مسار ملف موقع XML الخاص بنا. يمكن القيام بذلك باستخدام سطر التعليمات البرمجية التالي (الذي تمت إضافته بعد أن نجحنا في تحليل موقع المسار من ملف XML):

$ loc_hash {$ id} = substr ($ loc_hash {$ id}، 1) إذا $ ^ O = ~ / Win / i؛الآن ، سيعمل البرنامج النصي سواء تم تشغيله على OS X أو Windows.

الخطوة 10: البرنامج النصي المكتمل

النص المكتمل
النص المكتمل

مرفق بإصدار نصي من البرنامج النصي للحذف التلقائي لـ iTunes ، لمن أراد المنتج النهائي فقط وليس شرحًا لكيفية عمله.

لاستخدام البرنامج النصي ، ستحتاج إلى حفظ الملف كملف perl (امتداد.pl) ثم جعله قابلاً للتنفيذ (chmod 751 في Unix ، لست متأكدًا من استخدامه لأنظمة Windows).

موصى به: