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.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'