بسهولة تحويل كل ما تبذلونه من أرشيف الرمز البريدي إلى المحفوظات 7z
يعد تنسيق zip هو المعيار لضغط الملفات ، ومع ذلك يفضل العديد من مستخدمو النظام ومستخدمو النظام استخدام تنسيق 7z لأنه يوفر نسب ضغط أفضل بكثير. يحتوي تنسيق zip على بعض الأشياء المناسبة له مثل السرعة (بالنسبة إلى تنسيقات الضغط الأخرى) ودعم التطبيق.
لذا للحصول على أفضل ما في العالمين ، قمنا بإنشاء برنامج نصي يقوم بتحويل ملفات zip إلى ملفات 7z بأمر واحد ، وهي عملية نطلق عليها "أرشفة عميقة".
الاستخدامات العملية
فلماذا تحتاج لهذا البرنامج النصي عندما يمكنك فقط إنشاء محفوظات 7z لتبدأ؟ إليك بعض الأسباب:
- قد لا تنتج تطبيقات معينة سوى أرشيفات بتنسيق zip.
- نظرًا لأن ضغط zip أسرع من ضغط 7z ، فقد تحتاج إلى إنتاج ملف مضغوط بسرعة ثم "ضغطه عميقًا" لاحقًا.
خذ بعين الاعتبار هذا السيناريو:
يمكنك تشغيل موقع FTP حيث يقوم العملاء بتحميل البيانات إليك بتنسيق zip. يقوم المستخدمون بعد ذلك بتنزيل البيانات واستخدامها حسب الحاجة ولكنك ترغب في الاحتفاظ بهذه الملفات لفترة من الوقت فقط في حالة احتياج المستخدمين إليها مرة أخرى (وفي هذه الحالة تكون بطلاً لإتاحتها بسهولة). لتوفير بعض المساحة ، يمكنك تحويل أرشيفات zip إلى تنسيق 7z وتخزينها بعيدًا.
بدلاً من ذلك ، استبدل البيانات التي حملها العميل من السيناريو أعلاه مع بيانات المستخدم التي تم نسخها احتياطيًا (أو أي شيء آخر يمكن التفكير فيه) ويمكنك أن ترى أن هناك العديد من التطبيقات العملية لهذا.
النص
@ ECHO OFF ECHO Deep Archive ECHO تأليف: جايسون فولكنر ECHO SysadminGeek.com ECHO. صدى صوت. REM يأخذ ملف Zip ويعيد ضغطه كأرشيف 7z. عملية REM Script: REM 1. فك ضغط الأرشيف الموجود. REM 2. ضغط الملفات المستخرجة بتنسيق 7z. REM 3. (اختياري) قم بالتحقق من صحة ملف 7z الجديد. REM 4. (اختياري) احذف أرشيف المصدر. REM REM Usage: REM DeepArchive ZipFile REM REM متطلبات: REM أداة سطر الأوامر 7-Zip (7za.exe) في موقع تعيين في المتغير PATH. REM REM ملاحظات إضافية: REM يعالج هذا البرنامج النصي أرشيفًا مضغوطًا واحدًا. REM لمعالجة كل أرشيفات zip في مجلد ، استخدم الأمر ForFiles من سطر الأوامر: REM FORFILES / P "pathtozipfiles" / M * .zip / C "cmd / c DeepArchivepath" REM REM لتشغيل ضغط / إلغاء ضغط الأرشيف كعمليات أساسية منخفضة الأولوية REM إضافة هذا أمام أوامر 7ZA (عدم إضافة هذا أمام الأمر 7ZA التحقق من الصحة): REM START / BelowNormal / Wait REM يؤدي إضافة الأمر أعلاه إلى استخدام إطار جديد لتنفيذ هذه العمليات. SETLOCAL EnableExtensions EnableDelayedExpansion REM يجب التحقق من صحة ملف الأرشيف العميق؟ (1 = نعم ، 0 = لا) SET Validate = 0 REM مستوى الضغط: 1،3،5،7،9 (أعلى = أبطأ لكن ضغط أكثر) SET CompressLevel = 5 REM هل تريد حذف ملف zip المصدر على النجاح؟ (1 = نعم ، 0 = لا) SET DeleteSourceOnSuccess = 1 REM ---- لا تقم بتعديل أي شيء أسفل هذا السطر ---- SET ArchiveFile =٪ 1 SET DeepFile =٪ ArchiveFile: .zip = .7z٪ SET tmpPath =٪ TEMP ٪٪ ~ nx1 SET tmpPathZip = "٪ tmpPath٪ *" SET tmpPath = "٪ tmpPath٪" SET tmpFile = "٪ TEMP٪ tmpDeepArchive.txt" IF NOT EXIST٪ tmpPath٪ (MKDIR٪ tmpPath٪) ELSE (RMDIR / S / Q٪ tmpPath٪) ECHO أرشيف الاستخراج:٪ ArchiveFile٪ 7ZA x٪ ArchiveFile٪ -o٪ tmpPath٪ ECHO. ECHO أرشيف الضغط:٪ DeepFile٪ 7ZA a -t7z -mx٪ CompressLevel٪٪ DeepFile٪٪ tmpPathZip٪ ECHO. IF ٪ Validate٪ == 1 (ECHO Validating archive:٪ DeepFile٪ 7ZA t٪ DeepFile٪ | FIND / C "كل شيء على ما يرام">٪ tmpFile٪ SET / P IsValid =< %tmpFile% IF !IsValid!==0 ( ECHO Validation failed! DEL /F /Q %DeepFile% ECHO. GOTO Fail ) ELSE ( ECHO Validation passed. ) ECHO. ) GOTO Success :Success IF %DeleteSourceOnSuccess%==1 DEL /F /Q %ArchiveFile% ECHO Success GOTO End :Fail ECHO Failed GOTO End :End IF EXIST %tmpFile% DEL /F /Q %tmpFile% IF EXIST %tmpPath% RMDIR /S /Q %tmpPath% ENDLOCAL
الروابط
قم بتنزيل برنامج DeepArchive Script من SysadminGeek.com
تنزيل أداة 7-Zip Command Line