原来使用Calibre转换电子书格式都是先导入,再转换,再把转换后的文件复制出来,最后再改名。

虽然可以批量导入和转换,但复制和改名要一个处理。后来发现Calibre自带命令行转换工具,就写了一个批处理,可以把一个文件夹中的所有指定格式的电子书批量转换。

把以下代码复制到记事本上,保存为.bat文件,复制到电子书的文件夹中,双击运行。

@echo off
for %%a  in (*.azw3) do (
  "d:\Calibre Portable\Calibre\ebook-convert.exe" "%%~a" "%%~na.epub"
  ping -n 30 127.1>nul
)
pause

 

注意根据Calibre安装路径改一下ebook-convert.exe的路径。如果要转换的文件很大,需要把等待时间延长,把第四行中的30改为100或其他更大的数值。

如果要制定其他格式,例如原电子书为.mobi格式,把第二行中 *.azw3 改为 *.mobi 就可以。同理,要输出其他格式,例如.txt格式,把第三行中 %%~na.epub 改为 %%~na.txt 就可以。

 

同样的代码也可以用于音乐格式的转换。把以下代码复制到记事本上,保存为.bat文件,复制到音乐文件的文件夹中,双击运行。

@echo off
for %%a  in (*.wav) do (
  "d:\lame3100\lame.exe" -V0 "%%~a" "%%~na V0.mp3"
)
pause

同样要根据lame安装路径改一下lame.exe的路径。

上面代码转出的mp3是最好动态编码。需要其他编码,例如最好静态编码,把第三行改为:

 "d:\lame3100\lame.exe" -b 320 "%%~a" "%%~na b320.mp3"

因为lame转换文件时会等待前面的操作,所以不需要以下代码:

  ping -n 30 127.1>nul