Harmonize file names for Linux and Windows.
Project description
CrossRename
Harmonize file names for Linux and Windows.
Table of Contents
Introduction
CrossRename is a command-line tool designed to harmonize file names across Linux and Windows systems. It ensures that your file names are compatible with both operating systems, eliminating naming conflicts when transferring files between different environments.
Features
Sanitizes file names to be Windows-compatible (and thus Linux-compatible)
Handles both individual files and entire directories
Supports recursive renaming of files in subdirectories
Preserves file extensions, including compound extensions like .tar.gz
Provides informative logging
Provides a dry-run mode to preview renaming changes without executing them
Skips recursive symlinks to avoid infinite loops
Installation
From PyPI (Using PIP)
pip install CrossRename
Usage
usage: crossrename [-h] [-p PATH] [-v] [-u] [-r] [-d] CrossRename: Harmonize file names for Linux and Windows. options: -h, --help show this help message and exit -p PATH, --path PATH The path to the file or directory to rename. -v, --version Prints out the current version and quits. -u, --update Check if a new version is available. -r, --recursive Rename all files in the directory path given and its subdirectories. -d, --dry-run Perform a dry run, logging changes without renaming.
Examples
Rename a single file:
crossrename -p /path/to/file.txt
Rename all files in a directory (and its subdirectories):
crossrename -p /path/to/directory -r
Perform a dry run to preview renaming changes without executing them:
crossrename -p /path/to/directory -r -d
Check for an update:
crossrename -u
Why did I build this?
I’m a dual-booter running Windows 10 and Lubuntu 22.04. One day (literally yesterday lol), while transferring a folder between the two systems, I hit a naming roadblock. Five stubborn files refused to budge, thanks to the quirky differences in file naming rules between Linux and Windows.
This experience got me thinking. You see, I had previously built FicImage, a nifty application that elevates the reading experience of FicHub epubs by adding missing images. It required handling file creation and renaming, and that knowledge proved invaluable.
And so, CrossRename was born – a tool to simplify your life when managing files between Linux and Windows. No more naming hassles, just smooth, worry-free file management.
Contributing
Contributions are welcome! If you’d like to improve CrossRename or add support for other operating systems (like macOS), please feel free to submit a pull request.
Wait a minute, who are you?
Hello there! I’m Emmanuel Jemeni, and while I primarily work as a Frontend Developer, Python holds a special place as my first programming language. You can find me on various platforms:
License
Changelog
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file crossrename-1.1.0.tar.gz
.
File metadata
- Download URL: crossrename-1.1.0.tar.gz
- Upload date:
- Size: 7.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d1536fbe0a5996049f2e1801eeb0f6496e292e199a88437314f14d9d49aa3726 |
|
MD5 | 354b39165babbb36d9deb35cfae6729b |
|
BLAKE2b-256 | 21fdc9b90c16f57693876bfdcd0ba41beb21b199b174998292a449cfa50f5998 |
File details
Details for the file CrossRename-1.1.0-py3-none-any.whl
.
File metadata
- Download URL: CrossRename-1.1.0-py3-none-any.whl
- Upload date:
- Size: 7.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 24579c9bf087c4363406835618d2c10010bc9e94166041a62f3462196510c3eb |
|
MD5 | b5249c0a83d6b1a85946061cece17620 |
|
BLAKE2b-256 | faba46533f95a0a9679420d742135cf2822c175f764cd2c8d2146821ee1fbba9 |