我正在寻找创建一个脚本,它会在文件夹名称之后重命名文件夹中的所有图像。这将用于一次重命名多个文件夹,因为我正在使用它来标准化我所有漫画的命名方案。所以我会说75 * .cbz在目录中没有解压缩,然后我会在包含子文件夹的文件夹中运行所述脚本,子文件夹包含构成每个漫画的图像以重命名每个图像。
结构例如是:
PageRenamer.bat
系列名称000(年)\
姓名pg1.jpg,姓名pg2.jpg ...姓名pg24.jpg
系列名称001(年)\
系列名称001 000.jpg,系列名称001 001.jpg ...系列名称001 025.jpg
等等...
我正在寻找的最终结果是,在您运行脚本后,每个图像都被命名为Series Name 001 (Year) 000.jpg
- Series Name 001 (Year) 025.jpg
(页面/图像的数量可能会有所不同)并且位于{{1} }文件夹。现在,我希望我的漫画是单层档案。如果有一种方法可以将每个子文件夹(漫画根目录)中的子文件夹中的任何图像移动到根子文件夹(漫画根目录),那就更好了。
例如:
PageRenamer.bat
系列名称000(年)\
系列名称000 \
姓名pg1.jpg,姓名pg2.jpg ...姓名pg24.jpg
系列名称001(年)\
系列名称001 \
系列名称001 \
系列名称001 000.jpg,系列名称001 001.jpg ...系列名称001 025.jpg
等等...
更改它以匹配示例1的格式(包括删除现在未使用的子文件夹)。任何帮助都非常受欢迎我很乐意让脚本足够简单,以完成第一项任务,因为大多数漫画都是一层。如果我不必担心修复那些没有的那些,那将是一个巨大的奖励。
答案 0 :(得分:0)
我会在这里抛出几行批处理脚本,指出你正确的方向。您可以从这样的forloop开始,它将列出漫画文件夹中的所有子目录:
for /d %%D in (*) do
然后在那里有第二个forloop,以获取每个子目录中的所有.jpg并重命名它们:
for %%f in (*.jpg) do (
#here you will want to craft a string for the filename, using the subdirectory name (%D)
ren "%%F" "your-crafted-string.jpg"
)
您需要跟踪变量以存储您为命名而处理的文件数量:
set /A num=0
你可以在内循环中递增每个循环运行:
set /A num+=1
并为外循环(每个子目录)的每个增量重置它:
set /A num=0
为每个文件在最里面的循环中制作一个字符串看起来像这样(未经测试):
ren "%%F" "!%%D%_%num%!.jpg"
你可以把它读作“将[文件]重命名为”[目录名] _ [数字的值] .jpg“