7 জিপ - কমান্ড লাইন: ওয়াইল্ডকার্ড প্যাটার্ন দ্বারা ফোল্ডার (গুলি) বাদ দিন?


107

কোন ধারণা কীভাবে কোনও কমান্ড-লাইন 7zip কমান্ড থেকে বন্য-কার্ডড পাথ (গুলি) বাদ দেবেন?

আমি এরকম কিছু করছি:

7z.exe a -t7z archive.7z FolderToArchive\ -mx0

এবং "ফোল্ডারটোআর্কাইভ" এর নীচে পাওয়া কোনও \bin\*.*বা \obj\*.*ফোল্ডার বাদ দিতে চাই ।

ফাইলগুলি বাদ দিতে, আপনি -xপ্যারামিটারটি ব্যবহার করতে পারেন । সহায়তা ফাইলটি ব্যবহারের জন্য এই উদাহরণ দেয় -x:

7z a -tzip archive.zip *.txt -x!temp.*

এটি একটি ফাইল বাদ দেওয়ার জন্য দুর্দান্ত। তবে, আবারও, আমি একটি ওয়াইল্ডকার্ড-নির্দিষ্ট ফোল্ডারটি বাদ দিতে চাই। আমার "FolderToArchive" এর অধীনে একাধিক ফোল্ডার আছে, যারা ফোল্ডার অধীনে সেখানে বা হতে পারে না bin\এবং obj\ফোল্ডার নেই। আমি এগুলি সংরক্ষণাগারে অন্তর্ভুক্ত করতে চাই না।

আমি যেমন নিদর্শন চেষ্টা করেছি

-x!bin\*
-x!bin\*.*
-x!\bin\*
-x!\bin\*.*
-x!\\bin\\*
-x!\\bin\\*.*

কেউই bin\ফোল্ডারটি বাদ দেয় না । এটি কি কেবল 7zip এর সীমাবদ্ধতা?

উত্তর:


131

পুনরাবৃত্তভাবে বিন এবং আপত্তি ফোল্ডারগুলি বাদ দিতে আপনি কমান্ডটি ব্যবহার করতে পারেন:

7z.exe a -t7z archive.7z FolderToArchive\ -mx0 -xr!bin -xr!obj

5
অন্য সবার জন্য: আপনি যদি কেবল মূল ডিরেক্টরিতে থাকা ফাইলগুলি উপেক্ষা করতে চান তবে ব্যবহার করুন -xr0!*.zip- কমপক্ষে আমি এটি ছাড়া কাজ করতে পারি না r0
অলিভার

6
এছাড়াও, যদি এটি লিনাক্স / ইউনিক্স কমান্ড লাইনে থাকে তবে শেল দ্বারা প্রাক-প্রসেসিং যুক্ত না করার জন্য, আপনাকে '-x!$RECYCLE.BIN'বহিরাগত ড্রাইভের রিসাইকেল বিনটি বাদ দিতে , একক উদ্ধৃতিতে আবদ্ধ করতে হতে পারে ।
থোনসা 75

15

বাগ এড়াতে, -r বা -xr সাবধানে ব্যবহার করুন।

মনে করুন আপনার যেমন ডিরেক্টরি রয়েছে:

.\path1\path2\bin
.\path1\path2\src
.\path3\path4\path5\bin
.\path3\path4\path5\src

এবং কমান্ড চালান:

7z a -t7z archive.7z .\path1\path2 .\path3\path4\path5 -xr!bin

আপনি আর্কাইভ 7z এ কী পেয়েছেন:

.\path2\src
.\path5\src

অর্থাৎ .\path2\এবং .\path5\ওঠে শীর্ষ ফোল্ডারের archive.7z মধ্যে, এবং উভয় binডিরেক্টরি বাদ করা হয়েছে।

-x কেবল আর্কাইভের শীর্ষ ফোল্ডারের সাথে সম্পর্কিত পাথ / ফাইল নাম সমর্থন করে ।

সুতরাং, আপনি যদি কেবল বাদ দিতে চান .\path1\path2\binতবে সমস্ত 'বিন' ডিরেক্টরি অন্তর্ভুক্ত করতে চান, কমান্ডটি এই জাতীয় হওয়া উচিত:

7z a -t7z archive.7z .\path1\path2 .\path3\path4\path5 -x!path2\bin

আমি -x এ চূড়ান্ত পথটি ব্যবহার করার চেষ্টা করেছি, তবে কখনই সফল হইনি।


হালনাগাদ:

-spfলিনাক্সের জন্য 7z তে একটি বিকল্প রয়েছে যা পরম পথের সাথে কাজ করে।

মার্কো অনুসারে , -spfউইন্ডোজটিতে 7-জিপ 15.14 থেকে পাওয়া যায়


2
দ্রষ্টব্য: কমপক্ষে উবুন্টুতে আপনাকে সেই সমস্ত -x পদগুলি একক '-x!path2\bin'
কোটে

@ ফ্র্যাঙ্কনোকের মন্তব্যে উল্লেখ করতে, আপনি ফোল্ডারের নামগুলিতে বিন্দুগুলিকে অনুমতি দেওয়ার জন্য উইন্ডোতে এটিও করতে পারেন:'-xr!\.foo'
ডোনবেকার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.