A powerful, user-friendly command-line tool to extract multiple ZIP files from a source directory to multiple destination directories simultaneously.
- ๐ Batch Extraction - Extract all ZIP files from a directory at once
- ๐ฏ Multiple Destinations - Extract to multiple locations simultaneously
- ๐ Auto Directory Creation - Creates destination folders if they don't exist
- ๐ก๏ธ Error Handling - Gracefully handles corrupted or invalid ZIP files
- ๐ Progress Tracking - Shows detailed progress and file information
- ๐จ User-Friendly Interface - Clear messages and helpful guidance
- ๐พ Preserve Structure - Maintains folder structure within ZIP files
- ๐ File Size Display - Shows ZIP file sizes in human-readable format
- Download the executable from the Releases page
- Run the executable:
- Windows: Double-click
zip_extractor.exe
or run from Command Prompt - Linux/macOS: Run
./zip_extractor
in terminal
- Windows: Double-click
# Run the tool
./extractor
# Show help
./extractor --help
- Start the tool by running the executable
- Enter source path - The folder containing your ZIP files
Enter source folder path for ZIP files: C:\Downloads\ZipFiles
- Add destinations - Enter one or more destination folders
Enter destination folder path: C:\Extracted Enter another destination path (or press Enter to continue): D:\Backup\Extracted Enter another destination path (or press Enter to continue): [Press Enter]
- Watch the magic happen - The tool will extract all ZIP files to all destinations
๐๏ธ Welcome to ZIP Extractor Tool!
========================================
Enter source folder path for ZIP files: /home/user/downloads
โ
Source folder found: /home/user/downloads
๐ Setting up destination folders:
Enter destination folder path: /home/user/extracted
โ
Destination added: /home/user/extracted
Enter another destination path (or press Enter to continue): /backup/extracted
โ
Destination added: /backup/extracted
Enter another destination path (or press Enter to continue):
๐ Searching for ZIP files in /home/user/downloads...
โ
Found 3 ZIP file(s):
๐ฆ project1.zip (2.5 MB)
๐ฆ documents.zip (1.2 MB)
๐ฆ photos.zip (15.3 MB)
๐ Starting extraction process...
๐ฆ Processing: project1.zip
๐ Archive contains 25 file(s)
โ
Extracted 25 file(s) to: /home/user/extracted/project1
โ
Extracted 25 file(s) to: /backup/extracted/project1
๐ EXTRACTION COMPLETE!
- Operating System: Windows 10+, Linux, or macOS
- Memory: 100MB RAM minimum
- Storage: 50MB free space for the tool
- Permissions: Read access to source directory, write access to destination directories
- Download from Releases page
- No installation required - just run!
If you have Dart SDK installed:
# Clone the repository
git clone https://github.com/Qharny/zip_extractor.git
cd zip-extractor-tool
# Install dependencies
dart pub get
# Build executable
dart compile exe main.dart -o zip_extractor.exe
- The codebase is now modularized! Core logic is split into components in
lib/components/
. - The main entry point for CLI is now
main.dart
(notextractor.dart
). - To run from source, use:
dart run main.dart
- For building executables, workflows and scripts now compile
main.dart
.
Option | Description |
---|---|
--help , -h |
Show detailed help information |
./extractor --help
This will show:
- Detailed usage instructions
- Feature explanations
- Examples and tips
- Troubleshooting guidance
"Source folder does not exist"
- โ Check the path is correct
- โ Use absolute paths (full path from root)
- โ Ensure you have read permissions
"No ZIP files found"
- โ
Verify ZIP files have
.zip
extension - โ Check files aren't corrupted
- โ Ensure ZIP files are directly in the source folder
"Permission denied"
- โ Run as administrator (Windows) or with sudo (Linux/macOS)
- โ Check destination folder permissions
- โ Ensure antivirus isn't blocking the tool
"Extraction failed"
- โ ZIP file might be corrupted
- โ Check available disk space
- โ Verify destination path is valid
- Large ZIP files: Be patient, large archives take time
- Many destinations: Each destination doubles processing time
- Network drives: Local drives are faster than network locations
- Antivirus: Add tool to antivirus exclusions for better performance
- ๐ Organizing downloaded ZIP files
- ๐ฎ Extracting game files to multiple locations
- ๐ธ Processing photo archives
- ๐ Managing document collections
- ๐ข IT deployments to multiple servers
- ๐ Data processing workflows
- ๐ Backup and archival processes
- ๐ฅ Team file distribution
- ๐ฆ Package distribution
- ๐ ๏ธ Build artifact extraction
- ๐ง Environment setup automation
- ๐ Project template deployment
We welcome contributions! Here's how you can help:
- Report Bugs - Open an issue with details
- Suggest Features - Share your ideas
- Submit Pull Requests - Help improve the code
- Improve Documentation - Help others understand better
# Clone the repository
git clone https://github.com/Qharny/zip_extractor.git
cd zip-extractor-tool
# Install Dart SDK (if not already installed)
# Visit: https://dart.dev/get-dart
# Install dependencies
dart pub get
# Run the tool
dart run main.dart
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with Dart programming language
- Uses the archive package for ZIP handling
- Inspired by the need for efficient batch ZIP extraction
- ๐ Bug Reports: Open an issue
- ๐ก Feature Requests: Open an issue
- ๐ง Email: kabuteymanasseh5@gmail.com
- ๐ฌ Discussions: GitHub Discussions
Planned features for future versions:
- ๐จ GUI version
- ๐ Password-protected ZIP support
- ๐ Extraction statistics export
- ๐ Watch folder mode
- ๐ฏ Selective file extraction
- ๐ฑ Mobile companion app
Made with โค๏ธ for the community
โญ Star this repository if you find it helpful! โญ