Board logo

标题: [文本处理] 求简化代码和删除文件并重命名 [打印本页]

作者: read4016    时间: 2017-4-13 00:09     标题: 求简化代码和删除文件并重命名

文件夹内有480个jpg文件,1.jpg 2.jpg一直到480.jpg,假如要生成20个类似以下格式规则的递增的命令,怎么生成,生成后删除1-480.jpg   并删除1-1.jpg 1-2.jpg 1-3.jpg 1-4.jpg 1-5.jpg 1-6.jpg,最后将生成的20个jpg,0001.jpg 0002.jpg一直到0020.jpg重命名为1.jpg 2.jpg一直到20.jpg

一组命令用掉24个jpg,如果像我下面这样的话就几百行代码了,想问怎么简化代码,另外批量删除和重命名命令不会写,求帮忙补充
以下是前三组的代码,每组都有规则的

convert +append 1.jpg 2.jpg 3.jpg 4.jpg 1-1.jpg
convert +append 5.jpg 6.jpg 7.jpg 8.jpg 1-2.jpg
convert +append 9.jpg 10.jpg 11.jpg 12.jpg 1-3.jpg
convert +append 13.jpg 14.jpg 15.jpg 16.jpg 1-4.jpg
convert +append 17.jpg 18.jpg 19.jpg 20.jpg 1-5.jpg
convert +append 21.jpg 22.jpg 23.jpg 24.jpg 1-6.jpg
convert -append 1-1.jpg 1-2.jpg 1-3.jpg 1-4.jpg 1-5.jpg 1-6.jpg 0001.jpg

convert +append 25.jpg 26.jpg 27.jpg 28.jpg 1-1.jpg
convert +append 29.jpg 30.jpg 31.jpg 32.jpg 1-2.jpg
convert +append 33.jpg 34.jpg 35.jpg 36.jpg 1-3.jpg
convert +append 37.jpg 38.jpg 39.jpg 40.jpg 1-4.jpg
convert +append 41.jpg 42.jpg 43.jpg 44.jpg 1-5.jpg
convert +append 45.jpg 46.jpg 47.jpg 48.jpg 1-6.jpg
convert -append 1-1.jpg 1-2.jpg 1-3.jpg 1-4.jpg 1-5.jpg 1-6.jpg 0002.jpg

convert +append 49.jpg 50.jpg 54.jpg 52.jpg 1-1.jpg
convert +append 53.jpg 54.jpg 55.jpg 56.jpg 1-2.jpg
convert +append 57.jpg 58.jpg 59.jpg 60.jpg 1-3.jpg
convert +append 61.jpg 62.jpg 63.jpg 64.jpg 1-4.jpg
convert +append 65.jpg 66.jpg 67.jpg 68.jpg 1-5.jpg
convert +append 69.jpg 70.jpg 71.jpg 72.jpg 1-6.jpg
convert -append 1-1.jpg 1-2.jpg 1-3.jpg 1-4.jpg 1-5.jpg 1-6.jpg 0003.jpg
作者: pcl_test    时间: 2017-4-13 01:01

本帖最后由 pcl_test 于 2017-4-13 01:15 编辑

也就一百多行,哪有几百行,什么算的?
最后的生成在文件名上加0是多余的,convert输出可以覆盖原文件1.jpg 2.jpg……
当然也可以边拼图边删或是最后图片生成到别的目录也可,重命名是自找的
作者: read4016    时间: 2017-4-13 01:27

回复 2# pcl_test


   求助那里是举例20个, 因为我的特殊需求,文件夹内有几千个jpg,那样得上千行代码了,并且复制到别的文件夹,会对接下来的操作有影响,只能在该目录进行
作者: read4016    时间: 2017-4-13 09:27

回复 2# pcl_test

能帮忙用循环处理命令简化下吗
作者: ShowCode    时间: 2017-4-13 12:47

step1.bat
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set PicNum=1
  4. set MerNum=10001
  5. set /a GrpNum=48/24
  6. for /l %%a in (1,1,%GrpNum%) do (
  7.     for /l %%b in (1,1,6) do (
  8.         set "str=convert +append"
  9.         for /l %%c in (1,1,4) do (
  10.             set str=!str! !PicNum!.jpg
  11.             set /a PicNum+=1
  12.         )
  13.         echo !str! 1-%%b.jpg
  14.     )
  15.     echo convert -append 1-1.jpg 1-2.jpg 1-3.jpg 1-4.jpg 1-5.jpg 1-6.jpg !MerNum:~-4!.jpg
  16.     set /a MerNum+=1
  17.     echo,
  18. )
  19. pause
复制代码
先看看显示的结果是否正确




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2