JA
jaxvanyang/batchlink
Batch link files without modifying original files
batchlink
Batch link files without modifying original files.
Why
To solve the problem - Is there a way to rename files from a torrent and still be able to seed?
If you are serving BT files on a media server like Jellyfin, you
may want this.
Features
- A CLI to easily batch link, rename, copy files.
- An extensible library.
Installation
Besides package managers, you can also use self-contained executables for Linux, macOS
and Windows from Releases.
Examples
Create example files:
mkdir -p a b && touch a/0.log a/1.log a/1.txt a/2.txtCreate hard links in b/ pointing to all files in a/ with original file names:
Note
It's recommended to add option --dry-run to see what will happen at first.
$ batchlink -S a -d b '*' '{path}'
Create hard link b/0.log to a/0.log
Create hard link b/1.log to a/1.log
Create hard link b/1.txt to a/1.txt
Create hard link b/2.txt to a/2.txtOnly create links for log files:
$ batchlink -S a -d b '*.log' '{path}'
Create hard link b/0.log to a/0.log
Create hard link b/1.log to a/1.logAnd rename to one-based numbering file names:
$ batchlink -S a -d b '*.log' '{num}.log'
Create hard link b/1.log to a/0.log
Create hard link b/2.log to a/1.logFormat replacement values:
$ batchlink -S a -d b '*.log' '{num:02}.log'
Create hard link b/01.log to a/0.log
Create hard link b/02.log to a/1.logAbsolute symbolic link, relative symbolic link, rename, copy:
batchlink -s -S a -d b '*.log' '{num:02}.log'
batchlink -sR -S a -d b '*.log' '{num:02}.log'
batchlink -r -S a -d b '*.log' '{num:02}.log'
batchlink -c -S a -d b '*.log' '{num:02}.log'On this page
Languages
Python89.1%Shell10.9%
Contributors
MIT License
Created June 4, 2024
Updated November 20, 2024