در سیستم عامل ویندوز فایل‌های Zip با ابزار داخلی ویندوز قابل اکسترکت کردن است اما این کار مثل سیستم عامل macOS اپل به صورت خودکار صورت نمی‌گیرد. به عبارت دیگر فایل زیپ دانلود شده، به همان شکل باقی می‌ماند مگر آنکه کاربر آن را با نرم‌افزاری مثل WinRAR یا 7-zip و البته نرم‌افزار اصلی ویندوز، Extract کند. خوشبختانه راهکاری ساده برای اکسترکت کردن فایل‌های زیپ و همین‌طور فرمت‌های مشابه مثل RAR و 7z و غیره به صورت خودکار وجود دارد. کافی است یک فایل Batch و اپلیکیشنی مثل 7-zip روی سیستم داشته باشید.

در ادامه به روش اکسترکت کردن خودکار فایل‌های ZIP در ویندوز به کمک 7-zip و یک اسکریپت جالب می‌پردازیم. با ما باشید.

نرم‌افزار قدرتمند و رایگان 7-zip یکی از بهترین نرم‌افزارها برای فشرده‌سازی فایل و فولدر و همین‌طور اکسترکت کردن تعداد زیادی از فرمت‌های متداول است. در حقیقت بسیاری از کاربران حرفه‌ای، به جای استفاده از ZIP ویندوز یا نرم‌افزار پولی مثل WinRAR از این نرم‌افزار استفاده می‌کنند.

افزودن متغیر محیطی 7-zip در ویندوز

اسکریپت ما در حقیقت دستوراتی را توسط اپلیکیشن 7-zip اجرا می‌کند تا این نرم‌افزار، محتویات فایل‌های زیپ را استخراج کند. برای اینکه فراخوانی 7-zip از هر مکانی امکان‌پذیر شود، می‌بایست 7-zip را به عنوان یکی از متغیرهای محیطی در ویندوز ۱۰ اضافه کنید. این کار بسیار ساده است:

ابتدا فایل اکسپلورر ویندوز را اجرا کنید و آدرس زیر را در نوار آدرس پیست کرده و کلید Enter را فشار دهید:

Control Panel\System and Security\System

اکنون در ستون کناری روی Advanced System Settings کلیک کنید.

در پنجره‌ای که باز می‌شود روی تب Advanced کلیک کنید و سپس روی دکمه‌ی Environment variables کلیک کنید.

در پنجره‌ی Environment variables که دو لیست موجود است، در لیست اول که مربوط به حساب کاربری فعلی می‌شود، روی Path کلیک کنید و سپس روی دکمه‌ی Edit کلیک کنید.

در پنجره‌ی ویرایش آدرس یا Path نیز ابتدا روی دکمه‌ی New و سپ دکمه‌ی Browse کنار لیست مسیرها کلیک کنید. اکنون مسیر نصب شدن نرم‌افزار سون-زیپ را مشخص کنید تا به عنوان یک ورودی جدید در لیست اضافه شود.

حالت پیش‌فرض مسیر نصب 7-zip به صورت زیر است:

C:\Program Files\7-Zip

اسکریپت از حالت فشرده خارج کردن فایل‌های زیپ توسط 7-zip

و به مرحله‌ی ایجاد اسکریپت اکسترکت کردن خودکار فایل‌های زیپ می‌رسید. Notepad ویندوز را اجرا کنید و این عبارت را در آن پیست کنید:

7z x -o"download-folder*" "extract-folder\*.zip"

کد فوق نیاز به ویرایش دارد و دو بخش مهم یعنی آدرس منبع و مقصد را باید ویرایش کنید:

  • download-folder: منبع فایل‌های زیپ که می‌تواند فولدر دانلود یا فولدری دلخواه دیگری باشد.
  • extract-folder: محل ذخیره کردن فایل‌های اکسترکت شده

توجه کنید که علامت ستاره یا * در انتهای مسیرها را تغییر ندهید چرا که به نام فایل‌های زیپ اشاره می‌کند. به عنوان مثال اگر محل فایل‌های زیپ، فولدر Users است و مقصد موردنظر شما، درایو D و فولدر Extracted درون آن است، کد فوق به این صورت تغییر می‌کند:

7z x -o "C:\Users\*" "D:\Extracted\*.zip"

در نهایت از منوی File و گزینه‌ی Save As‌ برای ذخیره کردن اسکریپت استفاده کنید. فایل اسکریپت را با نام دلخواه و پسوند bat ذخیره کنید.

شروع به کار اسکریپت

آخرین مرحله این است که اسکریپ ساخته شده را به صورت خودکار در زمان ذخیره کردن فایل ZIP جدید در فولدر دانلودها یا فولدر دیگری، اجرا کنید. برای این کار می‌توانید از نرم‌افزار مفیدی به اسم File Watcher Utility استفاده کنید.

نرم‌افزار File Watcher Utility در حقیقت نرم‌افزاری برای مانیتور کردن فایل و فولدرها و تغییراتشان است. فایل‌های این نرم‌افزار را پس از دانلود کردن، در محلی که فایل اسکریپت را ذخیره کرده‌اید، اکسترکت کنید.

اکنون فایل اجرایی File Watcher Simple را اجرا کنید و مراحل زیر را طی کنید:

با فشار دادن Ctrl + N یک Daemon جدید ایجاد کنید.

نام را به صورت دلخواه وارد کنید به طوری که با دیدن آن متوجه شوید که به کدام فولدر مربوط می‌شود.

روی تب Filters کلیک کنید و در فیلد Main file name عبارت *.zip را وارد کنید که به معنی تمام فایل‌ها با پسوند zip است.

در تب Processes و در بخش Process Executable فایل Batch ساخته شده را انتخاب کنید.

در همان تب، فولدر کاری را مثل فولدر منبع که به عنوان مثال فولدر فایل‌های دانلود شده است، انتخاب کنید.

در نهایت Daemon جدید را راه‌اندازی کنید.

از این پس زمانی که فایل زیپ جدیدی دانلود کنید، پنجره‌ی cmd ظاهر می‌شود و پیامی در مورد جایگزین کردن فایل‌ها نمایش می‌دهد که با زدن کلید Y کیبورد، این کار انجام خواهد شد.

با زیادتر شدن فایل‌های ZIP‌ به جای یک پنجره‌ی cmd، تعدادی پنجره باز می‌شود که مشکل‌ساز است. لذا Daemon را متوقف کنید، آن را انتخاب کرده و روی Properties کلیک کنید. در تب File System Events تیک گزینه‌ی Files or folder created و همین‌طور File or folder deleted را حذف کنید تا در صورت ایجاد فایل و فولدر یا حذف فایل و فولدر، پیام تأیید نمایش داده نشود. اکنون مجدداً Daemon را راه‌اندازی کنید.

برای غیرفعال کردن نمایش Command Prompt و اکسترکت کردن خودکار فایل‌های زیپ بدون نمایش پیام تأیید، می‌توانید از تب Process Advanced استفاده کنید و گزینه‌ی Create no window را تیک بزنید.

مراحلی که شرح دادیم، برای اکسترکت کردن خودکار فایل‌های زیپ توسط 7-zip کاربرد دارد اما به صورت مشابه می‌توانید اسکریپتی برای اکسترکت کردن فایل‌های RAR بسازید و Daemon جدیدی نیز برای اجرای خودکار این اسکریپت در نظر بگیرید. به همین صورت فایل‌هایی با پسوند 7z که فرمت اصلی 7-zip است و پسوندهای رایج دیگر را می‌توانید به صورت خودکار اکسترکت کنید.