একাধিক জিপ ফাইল তৈরি করুন


-1

আমি জিপ করতে চাইছি এমন একটি গুচ্ছ ফাইল রয়েছে, উদাহরণস্বরূপ আমার ডিরেক্টরিতে পুনরাবৃত্তভাবে ডিরেক্টরি চালানোর জন্য স্ক্রিপ্টের প্রয়োজন এবং নাম টেস্ট * .txt সহ সমস্ত ফাইল সন্ধান করতে হবে।

এটি সহজ অংশ, সুতরাং আমি পাওয়ার জিনে এটি করতে 7 জিপ ব্যবহার করেছি।

আমার এখন যা দরকার তা হ'ল একরকম জিপ প্রতি ফাইলের সংখ্যা 15 টি ফাইলের মধ্যে সীমাবদ্ধ করা।

সুতরাং কিছু প্রতিবন্ধকতা, এটি। জিপ ফর্ম্যাটে থাকা দরকার এবং এটি একটি পাতিত জিপ হতে পারে না, এটির জন্য আমার চিন্তাভাবনাটি সম্ভবত পাওয়ারশেলকে একবারে 15 চালানোর জন্য এবং তারপরে কেবল ক্রমিকভাবে জিপগুলি তৈরি করা, অর্থাৎ প্রথম টেস্ট.জাইপ হিসাবে 15 চালান is তারপরে পরবর্তী 15 টেস্ট 1.জিপ এবং তারপরে 15 টেস্ট 2 জিজপ হিসাবে

নীচে আমি বর্তমানে ব্যবহার করছি কোড নীচে।

if (-not (test-path "$env:ProgramFiles\7-Zip\7z.exe")) {throw "$env:ProgramFiles\7-Zip\7z.exe needed"} 
set-alias sz "$env:ProgramFiles\7-Zip\7z.exe" 
$filename="test"
sz a -tzip -mx5 -mmt=on $Target\"$filename.zip" $Source\$filename*.txt -r 

উত্তর:


0

আমি এখানে যা এলাম তা এখানে - আমি কোন প্রতিশ্রুতি বা পরামর্শ দিই না যে এটিই কেবলমাত্র / সেরা পদ্ধতি। আশা করি আপনি যেখানে যেতে চান সেখানে যাওয়ার বেশিরভাগ পথটি আপনি পেয়েছেন ... :)

if (-not (test-path "$env:ProgramFiles\7-Zip\7z.exe")) {
    throw "$env:ProgramFiles\7-Zip\7z.exe needed"
} 

set-alias sz "$env:ProgramFiles\7-Zip\7z.exe" 

$filename="test"

# Get the list of files to zip  
$fileList = gci $Source\$filename*.txt

# Initalize a counter to keep track of which Zip we're working on.
$zipCounter = 1

# Loop through the file list, one at a time.
for ($i = 0; $i -lt $fileList.Length; $i++) {

    # Use the current entry in the File List array to add the file to the zip.
    sz a -tzip -mx5 -mmt=on "$target\$filename$zipCounter.zip" $fileList[$i] -r

    # Use modulus - if it returns no remainder, then the current loop is a multiple of 15. 
    # (+1 and putting it last in the loop make it consider the zip name for the NEXT loop.
    # I did this because "0 % 15 = 0"). 
    if (($i + 1) % 15 -eq 0) {
        # Multiple of 15? Time to switch to the next zip file.
        $zipCounter++
    }
}

এই সব আমার জন্য অনুপস্থিত ছিল বাচ্চাদের আইটেমগুলি পাওয়ার সময় এটি পুনরাবৃত্তি করতে বলা হয়েছিল :) অনেক অনেক ধন্যবাদ!
জ্যাকস

আরে টেকি 700, যাইহোক এমন কি আছে যে এটি মোট আকারের দ্বারা সীমাবদ্ধ হতে পারে, আমার এখন একটি বাঁক বল ফেলে দেওয়া হয়েছে যেখানে আমার জিপ ফাইলের আকার 4 জিবি আকারের হতে হবে, আমি এটি আকারটি টানতে পারি এবং আমাকে মোট দিতে পারি তবে একসাথে 4 গিগাবাইটের মধ্য দিয়ে লুপ করা আমার সহজ মস্তিষ্কের জন্য জটিল প্রমাণ করে দিচ্ছে :)
জ্যাকস

আপনি যা জিজ্ঞাসা করছেন তা জটিল, সুতরাং সমাধানটিও হবে। আপনাকে সমস্ত ফাইল এবং তাদের আকারগুলি সংগ্রহ করতে হবে এবং তারপরে বিভিন্ন আকারের ফাইলগুলি মিশ্রণ করতে পারবেন না যা প্রতিটি গিগাবাইটের চেয়ে কম সংখ্যক সংকোচিত হবে। কোনও সাধারণ কাজ নয় , এবং একটি একক এসইউ প্রশ্নের ক্ষেত্রের বাইরেও, এবং মন্তব্যের পক্ষে সত্যই সুযোগের বাইরে। ;)
0cʜιᴇ007

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

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