Batch link files without modifying original files.
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.
- A CLI to easily batch link, rename, copy files.
- An extensible library.
Besides package managers, you can also use self-contained executables for Linux, macOS and Windows from Releases.
Create example files:
mkdir -p a b && touch a/0.log a/1.log a/1.txt a/2.txt
Create 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.txt
Only 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.log
And 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.log
Format 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.log
Absolute 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'