A command-line tool for zipping files and folders
npm install yc-zipA command-line tool for zipping files and folders with support for dynamic file naming.
- Zip single files or entire directories
- Customizable output directory
- Dynamic file naming with date and hash templates
- Written in TypeScript with full type safety
- Built with modern tooling (Vite, ESLint, Prettier)
``bash`
npm install -g yc-zip
`bashBasic usage - zip a file or directory
yc-zip -i
$3
-
-i, --input (required): Source file or folder path to zip
- -o, --output (optional): Output directory path (defaults to current directory)
- -n, --name (optional): Output filename template$3
The
--name option supports the following placeholders:-
${YYYY}: Year (e.g., 2024)
- ${MM}: Month (01-12)
- ${DD}: Day (01-31)
- ${HH}: Hour in 24-hour format (00-23)
- ${mm}: Minutes (00-59)
- ${ss}: Seconds (00-59)
- ${hash(n)}: Random n-length hexadecimal hash (0-9, A-F)Examples:
bash
`bash
Basic date format
yc-zip -i ./docs -n "docs-${YYYYMMDD}.zip"
Output: docs-20240115.zip
Date with time
yc-zip -i ./docs -n "docs-${YYYY}${MM}${DD}-${HH}${mm}.zip"
Output: docs-20240115-1045.zip
With custom length hash
yc-zip -i ./docs -n "docs-${YYYYMMDD}-${hash(4)}.zip"
Output: docs-20240115-A12F.zip
`powershell
`powershell
Basic date format
yc-zip -i ./docs -n 'docs-${YYYYMMDD}.zip'Date with time
yc-zip -i ./docs -n 'docs-${YYYY}${MM}${DD}-${HH}${mm}.zip'With custom length hash
yc-zip -i ./docs -n 'docs-${YYYYMMDD}-${hash(4)}.zip'
``MIT