ব্যাচ পৃথক জিপ ফাইলগুলিতে একাধিক ফোল্ডার সংকোচিত করে


12

আমার কাছে কয়েক ডজন ফোল্ডার রয়েছে যা আমার পৃথক জিপ ফাইলগুলিতে সংক্ষিপ্ত করতে প্রয়োজন।

যদি আমি এই সমস্ত ফোল্ডারটি ফাইন্ডারে নির্বাচন করি এবং "কমপ্রেস [এক্স] আইটেমগুলি" করি তবে আমি সমস্ত ফোল্ডার সমন্বিত একটি জিপ ফাইল পাই, তবে আমি যা চাই তা ফোল্ডারে প্রতি একটি জিপ ফাইল ।

আমি "সংরক্ষণাগার তৈরি করুন" ক্রিয়াটি ব্যবহার করে অটোমেটরের সাথে একটি ওয়ার্কফ্লো তৈরি করার চেষ্টা করেছি, তবে এটি একইভাবে আচরণ করে: একাধিক ফাইল / ফোল্ডারগুলি ইনপুট করে একটি একক জিপ ফাইল আউটপুট দেয়। প্রতিটি আইটেমটি পৃথকভাবে ক্রিয়া চালিত হয় তা নির্দিষ্ট করার কোনও উপায় নেই।

মূলত, আমি একবারে প্রতিটি ফোল্ডারে একসাথে অনুসন্ধানকারীর মধ্যে "সংক্ষেপণ" চালিয়ে যাওয়া এড়াতে একটি উপায় খুঁজছি। এটি স্বয়ংক্রিয় করার কোনও উপায় আছে?


1
জিপ সংরক্ষণাগার ফাইলের নাম বাড়ানোর জন্য ব্যবহৃত কোডটি উন্নত করতে আমি আমার উত্তর আপডেট করেছি যাতে এটি কীভাবে ফাইন্ডার প্রসঙ্গ-মেনু সংকোচনের [এম] আইটেম কমান্ড একটি ফাইলের নাম বাড়িয়ে তোলে তা অনুকরণ করে।
ব্যবহারকারীর 3439894

দুঃখিত, অপ্রয়োজনীয় অপসারণের জন্য আমি আবার কোডটি আপডেট করেছি popdএবং একটি মারাত্মক টাইপও সংশোধন করেছি for i in $bn*.zip; do, যা হওয়া উচিত ছিল for i in $bn *.zip; do$bnএবং এর মধ্যে স্থানটি নোট করুন *.zip, এটি অনুপস্থিত ছিল এবং হওয়া উচিত ছিল না। সুতরাং দয়া করে এটি আপনার বাস্তবায়নে আপডেট করুন অন্যথায় এটিতে File Name 2.zipযখন basenameজায়গা থাকে তখন এটি পদক্ষেপ নেয়।
ব্যবহারকারীর 3439894

উত্তর:


14

এখানে একটি হল Automator পরিষেবা 1 যে উপলব্ধ হলে ফাইন্ডারে যখন ফোল্ডার নির্বাচন করা হয় এবং অনুকরণ প্রসঙ্গ-মেনু কম্প্রেস [এন] আইটেমগুলি আদেশ ব্যতীত এটি একটি সৃষ্টি পৃথক zip সংরক্ষণাগার ফাইল প্রতিটি নির্বাচিত জন্য ফোল্ডার মধ্যে নাম নির্বাচিত ফোল্ডার । যদি ফোল্ডার নাম। জিপ ফাইলটি ইতিমধ্যে বিদ্যমান থাকে তবে একটি " 2"( স্পেস 2) ফাইলের সাথে যুক্ত করা হয় , যেমন ফোল্ডারের নাম 2.zip । এটি বিদ্যমান জিপ সংরক্ষণাগার ফাইলটি নিশ্চিত করেস্পর্শ করা হয়নি এবং জিপ সংরক্ষণাগার ফাইলের নামটি স্বয়ংক্রিয়ভাবে প্রয়োজনীয় হিসাবে বাড়ানো হবে।

1 সালে MacOS Mojave , এবং পরে, একটি Automator পরিষেবা একটি বলা হয় দ্রুত ব্যবস্থা । অন্যান্য ছোট ছোট নামকরণের পার্থক্য রয়েছে তবে তাদের প্রাক-ম্যাকোস মোজভে অটোমেটরের কর্মপ্রবাহের সাথে তুলনা করার সময় এগুলি আরও সুস্পষ্ট হওয়া উচিত।

পরিষেবাটি তৈরি করতে: 1

  1. ওপেন Automator নির্বাচন পরিষেবা 1 বা ফাইল > নিউ > পরিষেবা তাহলে Automator ইতিমধ্যেই খোলা আছে।

  2. সেট সেবা নির্বাচিত পায় করার ফোল্ডার এবং থেকে ফাইন্ডারে

  3. একটি যোগ করুন চালান শেল স্ক্রিপ্ট অ্যাকশন সেটিং শেল: থেকে / বিন / ব্যাশ এবং : পাস ইনপুট করার আর্গুমেন্ট হিসাবে এবং নিম্নলিখিত যোগ কোড :

    for f in "$@"; do
    
        dn="$(dirname "$f")"
        bn="$(basename "$f")"
    
        cd "$dn" || exit
    
        if [[ ! -e "$bn.zip" ]]; then
            ditto -c -k --sequesterRsrc --keepParent "$f" "$bn.zip"
        else
            n=2
            for i in $bn *.zip; do
                if [[ "$bn $n.zip" == "$i" ]]; then
                    n="$(( n + 1 ))"
                fi
            done
            ditto -c -k --sequesterRsrc --keepParent "$f" "$bn $n.zip"
        fi
    
    done
    
    afplay /System/Library/Sounds/Purr.aiff
    
  4. পরিষেবাটি সেভ করুন : আলাদাভাবে ফোল্ডারগুলি সংকোচন করুন

পরিষেবাটি ব্যবহার করতে:

ফাইন্ডারে বা ডেস্কটপে একাধিক ফোল্ডার নির্বাচন করুন , তারপরে ডান-ক্লিক করুন এবং পরিষেবাদিগুলির অধীনে পৃথকভাবে সংক্ষেপে ফোল্ডার নির্বাচন করুন

অথবা লক্ষ্য ফোল্ডার নির্বাচন করার পরে , আপনি মেনু বার থেকে পৃথকভাবে ফাইন্ডার > পরিষেবাদি > ফোল্ডারগুলি সংক্ষেপে ক্লিক করতে পারেন ।

আপনার কাছে এটি রয়েছে, একসাথে একাধিক ফোল্ডার সংকুচিত করার একটি উপায় পৃথক জিপ সংরক্ষণাগারগুলিতে এক সাথে ফাইন্ডার কীভাবে জিপ সংরক্ষণাগার ফাইল তৈরি করে তা অনুকরণ করে। Zip সংরক্ষণাগার অর্থ সাব __MACOSX সংরক্ষিত সম্পদ কাটাচামচ এবং HFS মেটা-ডেটা রয়েছে এবং শুধুমাত্র পেরেন্ট ডাইরেক্টরি নাম এম্বেড উৎস মধ্যে গন্তব্য-সংরক্ষণাগার , যখন ব্যবহার সম্পূর্ণরূপে যোগ্যতাসম্পন্ন পথনাম zip(ছাড়া -j) সংরক্ষণাগার তৈরি করুন।

আলাদাভাবে সংক্ষেপে ফোল্ডারগুলির চিত্র

পৃথকভাবে ফোল্ডারগুলি সংকোচন করুন - অটোমেটর পরিষেবা


আমি আপনার সমাধান এবং @ আব্বাক উভয়ই পরীক্ষা করে দেখেছি। তারা ঠিক একই ফলাফল দেয় এবং আব্বাক এর প্রয়োগ করা অনেক সহজ। আমি যেভাবেই হোক উভয়কেই ভোট দিয়েছি।
টার্জিফার

15

যদি আপনি অটোমেটার ব্যবহার করতে না চান এবং সংরক্ষণাগার ইউটিলিটির সেটিংস পরিবর্তন করে ঠিক থাকেন তবে এর একটি বিকল্প সমাধান রয়েছে।

  1. / সিস্টেম / গ্রন্থাগার / কোর সার্ভিস / অ্যাপ্লিকেশন / এ অবস্থিত সংরক্ষণাগার ইউটিলিটি.এপ খুলুন
  2. ফাইল> পছন্দসমূহ এ যান
  3. "জিপ সংরক্ষণাগার" -এর জন্য "সংরক্ষণাগার ফর্ম্যাট ব্যবহার করুন" পছন্দটি পরিবর্তন করুন
  4. ফোল্ডারগুলিকে ডকটিতে তার আইকনটিতে টেনে আনুন।

এই বিকল্পটির দুর্দান্ত জিনিসটি হ'ল আপনি আর্কাইভ ইউটিলিটি. অ্যাপ্লিকেশন পছন্দগুলি সেটটি শেষ করে ট্র্যাশে সরানো যেতে পারেন, এটি ফোল্ডারে সীমাবদ্ধ নয়। আপনি যদি বিকল্প হিসাবে ডান ক্লিক করতে চান তবে কোনও পরিষেবা হিসাবে সংরক্ষণাগার ইউটিলিটি.অ্যাপ দিয়ে খোলার জন্য কোনও অটোমেটর পরিষেবা সেট করার কোনও উপায় আছে কি? সংরক্ষণাগার ইউটিলিটি.অ্যাপ লঞ্চ অ্যাপ্লিকেশন ক্রিয়া ব্যবহার করে নির্বাচন করা যায় না বলে আমি একটি সীমাবদ্ধতার মধ্যে চলে এসেছি।
thepen

@ তিপ্পেন অবশ্যই আর্কাইভ ইউটিলিটি লঞ্চ অ্যাপ্লিকেশন অ্যাকশন হিসাবে বেছে নিতে পারেন। আপনাকে কেবল "অন্যান্য…" নির্বাচন করতে হবে এবং এটির অবস্থানটি নেভিগেট করতে হবে যা রয়েছে /System/Library/CoreServices/Applications/(দ্রুত নেভিগেশনের জন্য এই পথটি পেস্ট করার জন্য ফাইল নির্বাচনী ডায়ালগ খোলা থাকলে আপনি সিএমডি-শিফট-জি টিপতে পারেন)
অ্যাবাক

'সংরক্ষণাগার ফর্ম্যাট' এবং 'জিপ সংরক্ষণাগার' এর মধ্যে পার্থক্য কী?
ব্যবহারকারী 1993

এই পদ্ধতিটি অনেক সহজ কাজের প্রবাহ। আমি আদেশটি চেষ্টা করেছি: আইটেমের জন্য; জিপ করুন "$ {আইটেম}। জিপ" "$ {আইটেম}"; টার্মিনালে সম্পন্ন হয়েছে তবে এটি সঠিকভাবে কাজ করে না। কেন তা অজানা তবে আমি এটি বের করার জন্য সময় নিতে চাইনি। এটি ঠিক কাজ করেছে।
আর্চনোএক্সএক্স
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.