Skip to content

A collection of automation scripts designed to streamline workflows related to file management, renaming, and system organization.

License

Notifications You must be signed in to change notification settings

bssplyco/ScriptLab

Repository files navigation

ScriptLab

Overview

ScriptLab is a collection of automation scripts designed to streamline workflows related to file management, renaming, metadata handling, and system organization. These scripts aim to enhance efficiency by automating repetitive tasks, handling metadata, and improving file organization.

Project Structure

📂 ScriptLab/
├── 📂 Filesystem_Tools/
│   ├── 📂 Directory-Structure/
│   │   ├── 📄 README.md 
│   │   └── 📄 dir-structure.py
│   ├── 📂 Metadata-Tools/
│   │   ├── 📂 Icon-Changer/
│   │   │   ├── 📄 README.md 
│   │   │   └── 📄 icon-changer.py 
│   │   ├── 📂 Meta-Write/
│   │   │   ├── 📄 README.md 
│   │   │   └── 📄 meta-write.py 
│   │   └── 📄 README.md 
│   ├── 📂 Renamers/
│   │   ├── 📂 checksum-file-renamer/
│   │   │   ├── 📄 README.md 
│   │   │   └── 📄 checksum-rename.py 
│   │   └── 📂 music-renamer/
│   │       ├── 📄 README.md 
│   │       └── 📄 music-renamer.py
│   └── 📄 README.md 
├── 📂 MediaDownload_Tools/
│   ├── 📂 yt-dlp-automation/
│   │   ├── 📄 channels.txt
│   │   ├── 📄 README.md
│   │   ├── 📄 todo.txt
│   │   └── 📄 ytfetch.py
│   └── 📄 README.md
├── 📄 LICENSE 
├── 📄 README.md 
└── 📄 requirements.txt

Included Scripts

Directory Structure Generator

Generates an ASCII directory tree of a folder and its subdirectories.

  • Supports file size display and JSON output.
  • Allows excluding specific folders or file types.
  • Includes progress tracking for large structures.

Usage:

python dir-structure.py /path/to/folder --json

Icon Changer

Assigns a custom folder icon to all subdirectories.

  • Supports Windows (.ico files).
  • Includes recursive mode to process all subfolders.

Usage:

python icon-changer.py /path/to/folders /path/to/icon.ico --recursive

Checksum File Renamer

Renames files using their SHAKE-128 checksum.

  • Prevents duplicate files by ensuring unique names.
  • Uses multithreading for fast processing.
  • Includes a progress bar for better tracking.

Usage:

python checksum-rename.py /path/to/files

Music File Renamer

Renames music files based on metadata (ID3, FLAC, WAV tags).

  • Formats filenames as 01 - Artist - Song Title.mp3.
  • Supports recursive processing of subdirectories.
  • Prevents overwriting and allows moving renamed files.

Usage:

python music-renamer.py /path/to/music --copy

Metadata Writer (Filename to Metadata)

Extracts structured information from filenames and writes it as embedded metadata.

  • Supports MP3, FLAC, and WAV formats.
  • Parses filenames for Track Number, Artist, Title, and Featured Artists.
  • Handles inconsistent file naming conventions.
  • Uses Mutagen to modify metadata tags.
  • Includes a progress bar for large collections.

Usage:

python meta-write.py /path/to/music

ytfetch - YouTube Auto Downloader

Automates YouTube video downloads, ensuring only new content is fetched.

  • Fetches new videos without redownloading old ones.
  • Uses a text-based configuration file (channels.txt) for batch processing.
  • Saves videos in user-specified folders based on creator names.
  • Tracks downloaded content using downloaded_videos.txt.
  • Supports scheduled execution via cron jobs or Task Scheduler.

Installation

To install dependencies, run:

pip install -r requirements.txt

License

This project is licensed under the MIT License. See LICENSE for details.

Future Improvements

  • Add GUI support for script execution.
  • Enhance error handling across all tools.
  • Expand file format support for renaming and metadata extraction.

For feature requests or contributions, feel free to open an issue or pull request!

About

A collection of automation scripts designed to streamline workflows related to file management, renaming, and system organization.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages