Archive Extractor
Extracts archives recursively using scripts/extract.py.
Zero local-software dependency — works on any machine with Python 3.8+.
.rar and .7z formats use pure-Python libraries (rarfile, py7zr) that are
auto-installed on first use via pip. No 7-Zip, WinRAR, or unrar binary needed.
How to run
python scripts/extract.py <PATH> [OPTIONS]
Always use the absolute path to the script when calling from a different working directory:
# Windows
python "C:\Users\<user>\.workbuddy\skills\archive-extractor\scripts\extract.py" "<PATH>"
# Linux / macOS
python ~/.workbuddy/skills/archive-extractor/scripts/extract.py "<PATH>"
Options
| Flag | Description |
|---|
-f / --force | Re-extract even if a .extracted_success marker already exists |
-d DIR / --dest DIR | Write all output under a custom root directory |
Supported formats
| Format | Backend |
|---|
.zip | Python stdlib zipfile |
.tar .tar.gz .tar.bz2 .tar.xz .tgz .tbz2 | Python stdlib tarfile |
.gz .bz2 .xz (single-file) | Python stdlib gzip / bz2 / lzma |
.rar | rarfile (pure-Python, auto-installed) |
.7z | py7zr (pure-Python, auto-installed) |
Key behaviours
- Idempotent: skips archives that already have a
.extracted_success marker; use -f to override.
- Recursive: after extracting an archive, immediately scans the output for nested archives (up to 20 levels deep).
- Auto-deps:
rarfile and py7zr are installed automatically via pip on first use — no manual setup needed.
- Fault-tolerant: corrupted or unsupported archives are logged as
[FAIL] and skipped; remaining archives continue.
Examples
# Extract everything in a directory (including sub-archives)
python extract.py "D:\jira\TICKET-123"
# Force clean re-extraction of a single file
python extract.py report.zip -f
# Extract to a separate output folder
python extract.py "D:\jira\TICKET-123" -d "D:\extracted"
# Glob pattern — extract all zips in current directory
python extract.py "*.zip"