7z সঙ্গে কম্প্রেশন অপশন


0

আমি একটি আর্কাইভ তৈরি করতে চাই, যে প্রোগ্রামটি আমি সি # এ লিখছি, এবং পরে এটি ডিকম্প্রেস করব।

আর্কাইভটি 3 টি প্রধান উপবিভাগগুলিতে গোষ্ঠীভুক্ত, সম্পূর্ণ ভিন্ন অবস্থান থেকে ফোল্ডারগুলি ধারণ করবে।

মূলত, গ্রুপ এ ফোল্ডার থাকতে পারে \ x \ y \ z, \ x \ y \ m, \ x \ p \ q, গ্রুপ B ফোল্ডার থাকতে পারে \ x \ p \ r \ x \ y \ t ... তাই আসল অবস্থান বিভাগের সামান্য ইঙ্গিত দিতে পারে, আমি গোষ্ঠীর জন্য পথ ব্যবহার করতে পারি না।

আমি আশা করি জিপের মধ্যে বিভিন্ন ফোল্ডারে ফোল্ডার রাখতে 7z বিকল্প ব্যবহার করতে পারব, কিন্তু আমি কোনও বিকল্প খুঁজে পাইনি, তাই আমি ভেবেছিলাম আমি একটি বড় জিপের ভিতরে 3 টি জিপ তৈরি করব।

সমস্যাটি আমি দেখি, তথ্যটির পরিমাণ বড় (শত শত, হাজার হাজার গিগাবাইট) এবং যতদূর আমি জানি, জিপের উপর জীপ একটি দুর্দান্ত ধারণা নয়। (তথ্য প্রকার: বেশিরভাগ চিত্র টাইপ, টিআইএফ বা অন্যান্য অসম্পূর্ণ ফরম্যাট হতে পারে, তবে এটি jpg হতে পারে)

আমি যদি রার উপর জিপ করতে পারতাম তবে এটি আসলেই মহান হবে ... কিন্তু 7z কম্প্রেশনে কেবল রিক্সা ব্যবহার করে না, শুধুমাত্র ডিম্বপ্রেশন।

আমি একাধিক প্রোগ্রাম ইনস্টল করতে চান না - আমি শুধুমাত্র 7z ইনস্টল করব।

7z, প্যাকিংয়ের জন্য, নিম্নলিখিত বিকল্পগুলি (তাদের সাইট থেকে): 7z, XZ, BZIP2, GZIP, TAR, ZIP এবং WIM। আমি অভ্যন্তরীণ আর্কাইভগুলির জন্য এবং তারপরে বাইরের আর্কাইভের জন্য 7z বিকল্পটি ব্যবহার করব।

সেরা বিকল্প কি? (একটি ভাল সংরক্ষণাগার পেতে যা শুধুমাত্র একটি পাসে এটি করে বড় জিপ তৈরি করে না)

সম্পাদনা করুন: উইন্ডোজ!


আপনি কি জিজ্ঞাসা করছেন তা স্পষ্ট নয়, আসলে একটি প্রশ্ন আছে।

সম্পাদিত, আমি আশা করি আমি এটা পরিষ্কার করে দিচ্ছি
Thalia

আমি tar.gz করব, সৎভাবে। আপনি প্রয়োজন গ্রুপ প্রতিটি একটি টারববল তৈরি করুন, এবং তারপর পুরো অনেক gzip। তবে, এই সংরক্ষণাগার আকারের কারণে খুব দীর্ঘ সময় লাগবে।

1
আমি পরিবর্তে tar.xz করব - xzip মূলত একই LZMA- ভিত্তিক অ্যালগরিদমটি 7z হিসাবে ব্যবহার করে, যা একটি বড় কর্পাসকে অনেক ভাল সংকুচিত করে, বিশেষত যদি বিভিন্ন ফাইলগুলিতে অনেকগুলি পুনরাবৃত্তিমূলক তথ্য থাকে। আপনি 7 জিপ ব্যবহার করতে যাচ্ছেন, একই কারণে নিজের নিজস্ব .7z বিন্যাস ব্যবহার করুন।
fluffy

2
আপনার মধ্যে অনেকে মনে করেন যে প্রকৃত সমস্যা / প্রশ্ন OP তে কী ছিল। "সমস্যা" হিসাবে তিনি বলেছিলেন যে তিনি আর্কাইভের মধ্যে সাবফোল্ডারের দ্বারা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা ভাগ করতে চেয়েছিলেন, কিন্তু 7z কমান্ডটি ব্যবহার করে এটি করার উপায় দেখেননি বলে মনে করেন, তিনি নেস্টেড জিপ ফাইলগুলি । নেস্টেড জিপ ফাইলগুলি তার প্রশ্নটির একটি প্রয়োজনীয়তা নয়, কেবলমাত্র সংরক্ষণাগার ফোল্ডার গঠন সম্পর্কে তার বিভ্রান্তির একটি চিত্রশিল্প।
allquixotic

উত্তর:


3

আপনি যদি লিনাক্সে থাকেন তবে আপনি আপনার হার্ড ড্রাইভে ফোল্ডার পাথগুলিতে প্রতীকী লিঙ্ক তৈরি করতে পারেন এবং সেই ফোল্ডারগুলি সংরক্ষণাগারে যুক্ত করতে পারেন। হ্যাক, আপনি উইন্ডোজ এ সিম্বলিক লিঙ্ক সহ এটি করতে পারেন।

সুতরাং, উদাহরণ:

আপনার ফোল্ডার আছে /a, /b, /c এবং /d (উইন্ডোজ এই হবে C:\a, ইত্যাদি)

আর্কাইভের ভিতরে আপনার পছন্দসই ফোল্ডার গঠন হল:

/SUBDIVISION-1/a
/SUBDIVISION-1/b
/SUBDIVISION-2/c
/SUBDIVISION-3/d

বা কিছু বিভাগের মধ্যে subdivisions মধ্যে ইচ্ছাকৃতভাবে বিভক্ত।

তাই যখন আপনি কম্প্রেস যেতে, আপনি শুধু চাই

mkdir /SUBDIVISION-1
mkdir /SUBDIVISION-2
mkdir /SUBDIVISION-3

তারপর

ln -s /a /SUBDIVISION-1/a
ln -s /b /SUBDIVISION-1/b
ln -s /c /SUBDIVISION-2/c
ln -s /d /SUBDIVISION-3/d

এবং আপনি 0 থেকে 1 পর্যন্ত, প্রতিটি উপবিভাগের মধ্যে একটি ইচ্ছাকৃত সংখ্যক ডিরেক্টরি থাকতে পারেন N

উইন্ডোজ এ আপনি ব্যবহার করতে পারবেন না ln কমান্ড; আপনি ব্যবহার করতে হবে mklink পরিবর্তে কমান্ড।

আপনাকে এমন একটি প্রোগ্রামের প্রয়োজন হবে যা সিম্বলিক লিঙ্কগুলি অনুসরণ করতে যথেষ্ট স্মার্ট (লিনাক্সে) অনুসরণ করবে তবে উইন্ডোজগুলিতে এটি স্বয়ংক্রিয় হওয়া উচিত ... সংরক্ষণাগারটি কেবল সেখানে একটি সিমলিঙ্ক প্লপ করা উচিত নয়; এটি symlink dereferencing পরে পাওয়া তথ্য থাকা উচিত। আপনি যদি Win32 সাব-সিস্টেমটি ব্যবহার করেন তবে অন্তত এটি কীভাবে হওয়া উচিত (যা আমি 7z অনুমান করে)।

ওপি থেকে অন্তর্নিহিত অনুরোধ উপর উইন্ডোজ সংস্করণ (থেকে cmd.exe শেল):

mkdir C:\SUBDIVISION-1
mkdir C:\SUBDIVISION-2
mkdir C:\SUBDIVISION-3

তারপর

mklink /d C:\SUBDIVISION-1\a C:\a
mklink /d C:\SUBDIVISION-1\b C:\b
mklink /d C:\SUBDIVISION-2\c C:\c
mklink /d C:\SUBDIVISION-3\d C:\d

উইন্ডোজ :-( আমার প্রশ্নটিও সম্পাদনা করুন। ধন্যবাদ, আমি চেষ্টা করব, নিশ্চিত নই আমার প্রোগ্রাম থেকে কিভাবে, কিন্তু আমি যা চাই!
Thalia

উইন্ডোজ এ এটি ভাল কাজ করা উচিত, আপনাকে শুধু বিভিন্ন পাথ এবং একটি ভিন্ন symlink কমান্ড ব্যবহার করতে হবে।
allquixotic

সংমিশ্রণ সংখ্যার পরীক্ষা করার পরে, আমি খুঁজে পেয়েছি যে প্রতীকী লিঙ্ক তৈরি করতে সক্ষম হওয়ার জন্য আমি প্রশাসক হতে হবে ... (???)
Thalia

হ্যাঁ, সঠিক। অথবা সিগুইন ইনস্টল করুন এবং তার প্রতীকী লিঙ্ক এমুলেশন এবং ব্যবহার করুন 7za সেখানে থেকে সংকোচকারী ....
allquixotic

1
যখন আপনি কোড থেকে এটি করতে পারেন তখন কোনও প্রোগ্রাম থেকে কোনও কমান্ড কল করবেন না ... একটি বহিরাগত নির্ভরতা যুক্ত করে যেমন আপনার কোডটি ভঙ্গুর করে এবং আপনি ফাইলগুলির অস্তিত্বের উপর নির্ভর করে, আপনি ফাইল পাথগুলির সাথে সম্ভাব্য ত্রুটিগুলি চালান, আপনি সমস্যাগুলির সাথে ডাউনস্ট্রীম প্রোগ্রাম প্যারিসিং কমান্ড লাইন বিকল্প ইত্যাদি। কোডে স্টিক করুন, এপিআইগুলিকে আপনি নিয়ন্ত্রণ করতে পারেন এবং কংক্রিটলিটি দেখতে এবং ডিবাগ করতে পারেন।
allquixotic
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.