[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 有大神吗,关于批处理复制图片的

有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个文件夹

这些小文件夹的名字应该都不同,不是简单的数字编号吧

TOP

回复 2# lancer


    就是数字编号

TOP

  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
复制代码

TOP

回复 4# 路过


    这个牛,非常简洁。。。

TOP

回复 4# 路过


    没成功

TOP

回复 4# 路过


    系统找不到指定路径
已复制0个文件夹
可能是我不会用

TOP

回复 7# k员外


    第三行,要改成自己的图片所在路径,改了吗

TOP

回复 8# lancer


    改了

TOP

回复 9# k员外


    好像是文件夹路径的问题

TOP

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

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

TOP

试了试,代码是写出来了,但像这种通用性极小的代码,意义不大,写出来代码也太难看,不美观。就不好意思发出来了。

TOP

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

TOP

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

TOP

返回列表