Board logo

标题: [文件操作] 有大神吗,关于批处理复制图片的 [打印本页]

作者: k员外    时间: 2021-1-20 15:13     标题: 有大神吗,关于批处理复制图片的

有19张图片胡龙1号,胡龙2号,小子3号,小子4号,纳米核心5号,纳米核心7号,机芯科技8号,机芯科技9号,开开10号,开开11号,废弃12号,废弃13号,次品14号,次品15号,完全体16号,完全体17号,完全体18号,究极体20号,究极体21号
还有文件夹里面有240个小文件夹
图片胡龙1号同时复制到1-12个文件中
图片胡龙2号同时复制到13-24个文件中
图片小子3号同时复制到25-36个文件中
图片小子4号同时复制到37-48个文件中
图片纳米核心5号同时复制到49-60个文件中
图片纳米核心7号同时复制到61-72个文件中
图片机芯科技8号同时复制到73-84个文件中
图片机芯科技9号同时复制到85-96个文件中
图片开开10号同时复制到97-108个文件中
图片开开11号同时复制到109-120个文件中
图片废弃12号同时复制到121-132个文件中
图片废弃13号同时复制到133-144个文件中
图片次品14号同时复制到145-156个文件中
图片次品15号同时复制到157-168个文件中
图片完全体16号同时复制到169-180个文件中
图片完全体17号同时复制到181-192个文件中
图片完全体18号同时复制到193-208个文件中
图片究极体20号同时复制到209-224个文件中
图片究极体20号同时复制到225-240个文件中
注意从18号递增的是16个文件夹,18之前递增的是12个文件夹
作者: lancer    时间: 2021-1-20 15:28

这些小文件夹的名字应该都不同,不是简单的数字编号吧
作者: k员外    时间: 2021-1-20 15:29

回复 2# lancer


    就是数字编号
作者: 路过    时间: 2021-1-20 16:23

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. pushd "图片所在文件夹路径"
  4. set table1=胡龙1号,胡龙2号,小子3号,小子4号,纳米核心5号,纳米核心7号,机芯科技8号,机芯科技9号,开开10号,开开11号,废弃12号,废弃13号,次品14号,次品15号,完全体16号,完全体17号
  5. set table2=完全体18号,究极体20号,究极体21号
  6. set/a start=0,end=0
  7. for %%a in (%table1%) do (
  8.     set/a start=end+1,end+=12
  9.     for /l %%b in (!start!,1,!end!) do (copy "%%a.jpg" "文件夹\%%b\%%a.jpg")
  10. )
  11. for %%a in (%table2%) do (
  12.     set/a start=end+1,end+=16
  13.     for /l %%b in (!start!,1,!end!) do (copy "%%a.jpg" "文件夹\%%b\%%a.jpg")
  14. )
  15. pause
  16. exit
复制代码

作者: lancer    时间: 2021-1-20 16:50

回复 4# 路过


    这个牛,非常简洁。。。
作者: k员外    时间: 2021-1-20 16:55

回复 4# 路过


    没成功
作者: k员外    时间: 2021-1-20 17:06

回复 4# 路过


    系统找不到指定路径
已复制0个文件夹
可能是我不会用
作者: lancer    时间: 2021-1-20 17:34

回复 7# k员外


    第三行,要改成自己的图片所在路径,改了吗
作者: k员外    时间: 2021-1-20 17:55

回复 8# lancer


    改了
作者: k员外    时间: 2021-1-20 17:55

回复 9# k员外


    好像是文件夹路径的问题
作者: 路过    时间: 2021-1-20 19:46

本帖最后由 路过 于 2021-1-20 19:58 编辑

回复 10# k员外 除了要改pushd文件路径,还要改for循环里
copy "%%a.jpg" "文件夹\..."中的路径
改成你要保存到的文件夹的完整路径
例如
  1. copy "%%a.jpg" "D:\新建文件夹\%%b\%%a.jpg"
复制代码

作者: qixiaobin0715    时间: 2021-1-21 08:14

试了试,代码是写出来了,但像这种通用性极小的代码,意义不大,写出来代码也太难看,不美观。就不好意思发出来了。
作者: qixiaobin0715    时间: 2021-1-21 09:49

说这样的批处理写出来通用性极小是指:
1.本来图片中的数字可以利用,可是中间有无规律的缺失(6,19)。
2.本来文件和文件夹可以通过一定的算法建立联系,突然毫无规律的在文件夹18以后发生了变化。
增加了代码的难度,即使写出来只能用这一次,所以说这样的代码无意义。
作者: qixiaobin0715    时间: 2021-1-21 10:15

回复 4# 路过
变量名最好不要和命令重名(比如start),有时会出问题。




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