কীভাবে 7-জিপ তৈরি করতে হবে তা পুরো গোছা ফোল্ডারগুলিতে


18

আমি একগুচ্ছ ছবি পেয়েছি যেগুলি আমাকে 800x600 পিক্সেলের মধ্যে কাটতে হয়েছিল। এটি খুব সহজেই সম্পন্ন হয়েছিল তবে এখন আমাকে সেগুলি আপলোড করতে হবে যাতে পরিবার তাদের সবকটি দেখতে পারে।

কথাটি হ'ল এটি ছবিতে 500MB। আমি কেবল পৃথক পৃথক ফোল্ডারগুলি জিপ করার সিদ্ধান্ত নিয়েছি, যার প্রতিটিটিতে প্রায় সমান পরিমাণে ছবি রয়েছে। এইভাবে আমি প্রতিদিন একটি দম্পতি আপলোড করতে পারি। এটি ম্যানুয়ালি করা খুব দীর্ঘ এবং কঠোর কাজ। আমি ভাবছি যদি প্রতিটি ফোল্ডার পৃথকভাবে 7-জিপ হ্যান্ডেল করার কোনও উপায় থাকে?

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


1
আপনি কয়টি ফোল্ডারের কথা বলছেন? 7? 147? আপনি যদি ব্যাচের ফাইলগুলির সাথে ভাল না হন তবে তবে এই চ্যালেঞ্জ মোকাবেলার জন্য এটি একটি ভাল সুযোগ। :)
জেএমডি

105 ফোল্ডার মোট
KdgDev

উত্তর:


25

একটি কমান্ড প্রম্পট থেকে চালান যার কার্যকরী ডিরেক্টরিটি আপনার My Picturesডিরেক্টরি, এই নির্দেশটি আপনার ডিরেক্টরিতে সমস্ত জিপ ফাইল রেখে প্রতিটি উপ-ডিরেক্টরিতে থাকা সামগ্রীর একটি জিপ ফাইল তৈরি করবে My Pictures

সম্পাদনা করুন: আমি তাদের নামে স্পেস সহ ডিরেক্টরিতে অনুমতি দেওয়ার জন্য প্রয়োজনীয় উদ্ধৃতি চিহ্নগুলি যুক্ত করেছি।

for /D %%d in (*.*) do 7z a -tzip "%%d.zip" "%%d"

এছাড়াও: নিম্নলিখিত সংস্করণটি জিপ ফাইলের ভিতরে একটি উপ-ডিরেক্টরিতে ফাইল রাখবে না, পরিবর্তে এর মূলের মধ্যে থাকবে:

for /D %%d in (*.*) do 7z a -tzip "%%d.zip" ".\%%d\*"

উইন্ডোজ 7 এবং উপরের

for /D %d in (*.*) do 7z a -tzip "%d.zip" "%d"

অথবা

for /D %d in (*.*) do 7z a -tzip "%d.zip" ".\%d\*"

আমি আমার ক্লাসপথে 7-জিপ ফোল্ডার যুক্ত করার চেষ্টা করেছি, তবে এটি কার্যকর হবে না। আমি যদি কেবল 7z এর পরিবর্তে এক্সিকিউটেবল সনাক্ত করতে পুরো স্ট্রিংটি ব্যবহার করি তবে এটি কার্যকর হয়। আমি যদিও সেই স্ট্রিংটিকে শ্রেণীর পথে যুক্ত করার সাথে একই প্রভাব পাওয়া উচিত?
কেডিজিদেভ

classpathযেখানে জাভা ক্লাস এবং লাইব্রেরির জন্য দেখায়। google.com/search?q=classpath আপনি স্পষ্টতই বিভ্রান্ত করেছেন যে pathযেখানে শেলটি এক্সিকিউটেবলের সন্ধান করে with
এগারোটি 1

প্রশ্ন: স্ক্রিপ্টটি কাজ করে, তবে ফোল্ডার-নামের ফাঁকা স্থান যখন থাকে না ...
কেডিজিডিভ

আপডেটের জন্য ধন্যবাদ. দ্বিতীয় স্ক্রিপ্টের সাথে, আপনি কি বোঝাতে চাইছেন যে জিপের বিষয়বস্তুগুলি "সমতল" হবে?
কেডিজিদেভ

6
এটি আমার জন্য দুর্দান্ত কাজ করেছে, যদিও আমার উইন box বাক্সটিতে ভের নামটি দীর্ঘ হিসাবে "%% ডি এই সময়ে অপ্রত্যাশিত ছিল" নিক্ষিপ্ত হওয়ার অভিযোগ করার কারণে আমাকে পরিবর্তন %%dকরতে %dহয়েছিল।
বেনজাম

7

আমি কমান্ড লাইনটি কাজ করতে পেলাম না, পরিবর্তে আমি উইনআরআর ডাউনলোড করেছি এবং এমটোনটি সঠিক ছিল - উইনআরআর এর নিজস্ব পৃথক জিপ ফাইলগুলিতে একাধিক ফোল্ডার জিপ করার বিকল্প রয়েছে।

যেমন C:\Files\Fables 01মধ্যে C:\Files\Fables 01.zip, এবং C:\Files\Fables 02মধ্যে C:\Files\Fables 02.zip

উইনআরআর দিয়ে, ফোল্ডারটি খুলুন যাতে আপনি যে জিপ ফোল্ডারগুলি করতে চান ফোল্ডারগুলি থাকে, তারপরে এই পদক্ষেপগুলি অনুসরণ করুন:

  • আপনি জিপড / রেড করতে চান এমন সমস্ত ফোল্ডার নির্বাচন করুন
  • "যোগ করুন" বা Alt+ Aবা কমান্ডগুলি -> "সংরক্ষণাগারে ফাইল যুক্ত করুন" এ ক্লিক করুন
  • আরএআর বা জিপ নির্বাচন করুন
  • "ফাইলগুলি" ট্যাবে যান
  • সংরক্ষণাগার বাক্সের নীচে "প্রতিটি ফাইল পৃথক সংরক্ষণাগারে রাখুন" চেক করুন

আপনি যখন পছন্দ করেন ঠিক তেমন অন্য কোনও সেটিংস পেয়েছেন, ঠিক আছে এবং হিট করুন: একাধিক ফোল্ডারের একাধিক জিপ ফাইল। এটি কমান্ড লাইন 7 জিপের চেয়ে অনেক সহজ কাজ করেছে।


যদিও এটি "প্রতিটি ফাইল" বলছে এই চেকবক্সটি ফোল্ডারগুলির সাথেও কাজ করে।
ধৌপিন

1
এখানে প্রস্তাবিত সমস্ত সমাধানগুলির মধ্যে এটিই ২০১ 2018 সালে আমার পক্ষে সবচেয়ে ভাল কাজ করেছে the আপনি সংরক্ষণাগারটি .zip করতে চান তা পরীক্ষা করে দেখতে নিশ্চিত হন বা এর পরিবর্তে এটি আরআর ফাইলগুলি একগুচ্ছ তৈরি করবে।
এরিক হিপারল - কোডস্লেয়ার2010

5

এগারোটি জবাবের সামান্য আপডেট: নীচের কোডটি একটি ব্যাচ ফাইল তৈরি করে যা একাধিক আইটেমগুলিতে ফেলে দেওয়া যেতে পারে।

@echo off
if [%1]==[] goto :eof
:loop
7z a -tzip "%~1.zip" "%~1"
shift
if not [%1]==[] goto loop

এই ব্যাচের ফাইলটি নিবন্ধের মাধ্যমে প্রসঙ্গ মেনুতে যুক্ত করা যেতে পারে:

  1. [HKEY_CLASSES_ROOT old ফোল্ডার \ শেল] এর অধীনে একটি নতুন কী তৈরি করুন, এটিকে cmd1 কল করুন
  2. স্ট্রিংয়ের মানটি সম্পাদনা করুন এবং এটিকে 'ব্যাচ জিপ' বলুন
  3. এটির অধীনে আরেকটি নতুন কী তৈরি করুন এবং এটিকে আদেশ দিন
  4. দ্বিগুণ পালানো স্ল্যাশ সহ এর মানটিকে আপনার পথে পরিবর্তন করুন

সুতরাং উদাহরণস্বরূপ, আমার এন্ট্রিটি "সি: \ ব্যবহারকারী \ ররি \ ড্রপবক্স \ _ অ্যাপস app ব্যাচ_জাইপ.ব্যাব্যাট" "% 1"

একবার আপনি এটি করলে আপনার 'ব্যাচ জিপ'-এর জন্য আপনার প্রসঙ্গ মেনুতে একটি এন্ট্রি আসবে যা কোনও নির্বাচিত ফোল্ডারগুলিকে পৃথক সংরক্ষণাগারগুলিতে জিপ করবে atch

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

যদি কেউ রেজিস্ট্রিতে এটি ঠিক করার কোনও উপায় জানেন তবে দয়া করে জানান।

নির্বাচিত ফোল্ডারগুলিকে ব্যাচে টেনে আনলে তা একের পর এক কাজ করবে।


1
Z জেড এক্স আমার পথে ছিল না এবং তাই আমাকে আপনার স্ক্রিপ্টটি কিছুটা সম্পাদনা করতে হয়েছিল। "সি: \ প্রোগ্রাম ফাইল (x86) \ 7-জিপ \ 7z.exe" একটি -tzip "% ~ 1.zip" "% ~ 1"
রায়ান

1
টানুন এবং ড্রপ করুন সহ অলসতা উত্সাহিত করার জন্য +1। আমি সবেমাত্র একটি পরিবর্তিত সংস্করণ পোস্ট করেছি @ http://superuser.com/a/1160047/678687
এনটেলফর্ম

3

টিপ: যদি আপনি চিত্রগুলি জেপিজি হয় তবে সেগুলি ইতিমধ্যে সংকুচিত হয়েছে। সংক্ষিপ্ত বিবরণ ছাড়াই 'সংরক্ষণাগার' মোডে 7-জিপ ব্যবহার করুন (সংক্ষেপণ স্তর: স্টোর) এটি প্রক্রিয়াটিকে প্রচন্ড গতিবেগ করবে।

এমনকি যদি আপনি আল্ট্রা সংক্ষেপণ ব্যবহার করেন তবে আপনি খুব কমই 5% লাভ করবেন, অবশ্যই চেষ্টাটির পক্ষে কার্যকর হবে না।

আমি ব্যবহারিকভাবে সংযুক্তি যুক্ত করার দিক দিয়ে ভাবছিলাম।

আমি তাদের ইমেল সংযুক্তি হিসাবে প্রেরণ করব না। বরং তথাকথিত এক-ক্লিক-হোস্টিং সার্ভারে আপলোড করুন (যেমন ড্রপ.ইও, আরএস, মিউ, এমএস, ইত্যাদি পছন্দগুলি প্রচুর) এবং তারপরে ডাউনলোডের লিঙ্কটি আপনার বন্ধুদের এবং পরিবারের কাছে ইমেলের মাধ্যমে প্রেরণ করুন।


2
যদিও তাদের মেল করা সহজ হবে।
রুক

আমি মনে করি না যে 475 বা 500 এমবি আপলোড করার ক্ষেত্রে খুব বেশি পার্থক্য রয়েছে, অবশ্যই 'আল্ট্রা' দিয়ে

আমি ব্যবহারিকভাবে সংযুক্তি যুক্ত করার দিক দিয়ে ভাবছিলাম। ১০ এর পরিবর্তে একটি ফাইল সংযুক্তি হিসাবে যুক্ত করা আরও সহজ (
রোক

মোলি "আর্কাইভ" মোডের জন্যই পরামর্শ দিয়েছেন; এটি ইতিমধ্যে সংকুচিত কিছু সংকুচিত করার চেষ্টা করে সময় নষ্ট না করে সবগুলি একটি ফাইলে
ভরিয়ে দেয়

এটি সত্য যে আমি তার শেষ বাক্যটির বিষয়ে জবাব দিচ্ছিলাম, তবে তা সত্ত্বেও, এমনকি জেপিগ ফাইলগুলির আকার ছোট হ্রাস পেয়েও (এবং কখনও কখনও এটি এতটা ছোট নয়, আসলে) এটি এখনও মূল্যবান। সংক্ষেপে ব্যয় করা সময় ব্যয় করা সময় হিসাবে এটি আপলোড ব্যয় করার চেয়ে অনেক কম, ধরা যাক, জিমেইল বা অন্য কোনও মেল (জিমেইলে তুলনামূলকভাবে বড় সংযুক্তি আকারের ভাতা রয়েছে)।
11:25

2

আমি ররিওকের উত্তরটি খুব সহায়ক বলে খুঁজে পেয়েছি , তিনি একটি সরবরাহ করেছিলেনbatch script করেছেন Windowsযা আপনাকে drag-&-dropদ্রুত, স্বয়ংক্রিয় সংরক্ষণাগারের জন্য ফাইলগুলিতে অনুমতি দেয় ।


এই স্ক্রিপ্টটি ব্যবহার করতে, এটি একটি দিয়ে সংরক্ষণ করুন .bat এক্সটেনশান এবং তারপরে আপনি ফাইল এবং / অথবা ফোল্ডারগুলি ব্যাচ ফাইলে ( বা ব্যাচের ফাইলের শর্টকাট ) এ টেনে আনতে পারেন - এবং - ।

.zipউত্স ফাইল হিসাবে একই ডিরেক্টরিতে ফাইল তৈরি করা হবে।
( যদিও স্ক্রিপ্টে গন্তব্য পরিবর্তন করা যেতে পারে @archivePath )


কাস্টমাইজেশন এবং সামগ্রিক কার্যকারিতা সহজ করার জন্য আমি কিছু আপডেট করেছি:

  • নামযুক্ত ভেরিয়েবল যুক্ত
  • forপ্রদত্ত আর্গুমেন্টগুলির সাথে পুনরাবৃত্তি করে এমন একটি লুপ প্রয়োগ করেছে
    ( পাশাপাশি)delayedexpansion রানটাইম ভেরিয়েবলগুলি অনুমতি )
  • ifপার্থক্য শর্ত যুক্তfiles এবংfolders
    • এটি আর্কাইভের মধ্যে প্যারেন্ট ফোল্ডারটি আবদ্ধ করার পরিবর্তে সংরক্ষণাগারে ফোল্ডারের সামগ্রীগুলি সরাসরি যুক্ত করার অনুমতি দেয়
      ( EG:   \archive.zip\file.txt   VS   \archive.zip\parent_folder\file.txt )
  • কোনও ত্রুটি না থাকলে ব্যর্থ দৃষ্টান্তগুলি প্রদর্শন করতে বা একটি সাফল্যের বার্তা প্রদর্শন করতে একটি ত্রুটি লগ যুক্ত করেছে

@Echo OFF
SetLocal EnableDelayedExpansion



Rem //  7-Zip Executable Path
Set sevenZip="C:\Program Files\7-Zip\7z.exe"



Rem // START: NewLine Variable Hack
Set newLine=^


Rem // END: NewLine Variable Hack !! DO NOT DELETE 2 EMPTY LINES ABOVE !!



Rem //  Set ErrorLog Variables
Set errorCount=0
Set separator=--------------------------------------------------------
Set errorLog=!newLine!!newLine!!separator!!newLine!!newLine!
Set errorPrefix=ERROR @:
Set successMessage=All Files Were Successfully Archived



Rem //  Loop Through Each Argument
SetLocal DisableDelayedExpansion
for %%x in (%*) do (

    Rem //  Use Current Argument To set File, Folder, & Archive Paths
    SetLocal DisableDelayedExpansion
    Set filePath="%%~x"
    Set directoryFiles="%%~x\*"
    Set archivePath="%%~x.zip"
    SetLocal EnableDelayedExpansion

    Rem //  Source Is A Folder
    if exist !directoryFiles! (
            Set sourcePath=!directoryFiles!
    )

    Rem //  Source Is A File
    if not exist !directoryFiles! (
            Set sourcePath=!filePath!
    )

    Rem //  Print Separator To Divide 7-Zip Output
    echo !newLine!!newLine!!separator!!newLine!!newLine!

    Rem //  Add Files To Zip Archive
    !sevenZip! A -TZIP !archivePath! !sourcePath!

    Rem //  Log Errors
    if ErrorLevel 1 (
        Set /A errorCount=errorCount+1
        Set errorLog=!errorLog!!newLine!!errorPrefix!!sourcePath!
    )
)



Rem //  Print ErrorLog
if !errorCount!==0 (
    Set errorLog=!errorLog!!newLine!!successMessage!
)
Echo !errorLog!!newLine!!newLine!!newLine!



Rem //  Keep Window Open To View ErrorLog
pause

1

7-জিপের প্রতিটি ফাইলকে তার নিজস্ব ফোল্ডারে (* /) UNZIP করার বিকল্প রয়েছে তবে আপনার সন্ধান করা বিপরীত ক্রিয়াটি করার জন্য প্রসঙ্গের আদেশের অভাব রয়েছে।

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


-1

পিকাসা পান এবং পিকাসার ওয়েব অ্যালবামে আপলোড করুন। তারপরে প্রত্যেকে অনলাইনে ফটোগুলি সহজেই অনলাইনে পেতে এবং সেগুলি দেখতে পারে। এমনকি মূলগুলি আপলোড করতে সক্ষম হতে পারে (যাতে আপনার পরিবার বৃহত্তর সংস্করণগুলি মুদ্রণ করতে পারে)


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