Skip to main content

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

MIT License

Changelog

Changelog

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

crossrename-1.1.0.tar.gz (7.1 kB view details)

Uploaded Source

Built Distribution

CrossRename-1.1.0-py3-none-any.whl (7.6 kB view details)

Uploaded Python 3

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

Hashes for crossrename-1.1.0.tar.gz
Algorithm Hash digest
SHA256 d1536fbe0a5996049f2e1801eeb0f6496e292e199a88437314f14d9d49aa3726
MD5 354b39165babbb36d9deb35cfae6729b
BLAKE2b-256 21fdc9b90c16f57693876bfdcd0ba41beb21b199b174998292a449cfa50f5998

See more details on using hashes here.

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

Hashes for CrossRename-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 24579c9bf087c4363406835618d2c10010bc9e94166041a62f3462196510c3eb
MD5 b5249c0a83d6b1a85946061cece17620
BLAKE2b-256 faba46533f95a0a9679420d742135cf2822c175f764cd2c8d2146821ee1fbba9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page