问题分析
- 因为
Tachiyomi
默认一个漫画有很多话,所以强制采用了两层目录结构。 - 对于单话本,需要将对应的
zip
放到./书名/xxx.zip
才能识别,在需要转移的本数很大时,手工操作就显得十分艰难。
针对未解压的zip实现
- 该脚本将入参目录下所有
zip
放入$TACHILOCAL/zip名去除空格/chapter.zip
下。 - 之所以要去除空格,是因为
Tachiyomi
无法加载有空格的文件夹的封面。
#!/bin/sh
TACHILOCAL="/storage/emulated/0/Tachiyomi/local"
cd "$1"
oldifs="$IFS"
IFS=$'\n'
for file in `find . -name "*.zip"`
do
echo 移动$file...
folder=`basename $file .zip | sed 's/ //g'`
mkdir "$TACHILOCAL"/"$folder"
mv "$file" "$TACHILOCAL"/"$folder"/chapter.zip
done
IFS="$oldifs"
使用
将上述文件保存为mvzip.sh
,并赋予可执行权限,在Termux
(或其他支持的终端)运行即可。
./mvzip.sh "zip所在目录"
针对已解压的单话本实现
对于已经解压的单话本,这里也有一个脚本,使用方法同上。该脚本将在入参目录下的所有文件夹中新建chapter
文件夹,并将所有文件移入其中,同时生成.nomedia
文件以防相册检索。你需要手动将转换后的文件夹移动到/storage/emulated/0/Tachiyomi/local
。
#!/bin/sh
cd "$1"
for file in ./*
do
if test -d "$file"
then
echo 进入$file...
mkdir "$file"/chapter
touch "$file"/chapter/.nomedia
for f in "$file"/*
do
if test -f "$f"
then
echo 移动$f...
mv "$f" "$file"/chapter/
fi
done
fi
done
注
当然,以上脚本修改后在电脑上也可运行。你也可以选择在电脑进行处理,然后将处理好的文件移动到相应目录。