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

[文件操作] 批处理怎样复制文件?

有没有办法批量处理一个文件夹内的图片。然后更具名称,自动复制到相应的文件夹内。

列:

A文件夹内有
100-a.jpg  100-b.jpg 100-c.jpg  100(1).jpg  100(2).jpg 100(3).jpg  。。。
200-a.jpg 200-b.jpg 200-b.jpg   200(1).jpg 200(2).jpg 200(3).jpg  。。。
等文件

然后自动在该目录下新建
100文件夹和 200文件夹,(忽略-和()后面的数据只需要前面的字符段,可能包含字母,长度不固定。

100文件夹内复制入 100-a.jpg  100-b.jpg 100-c.jpg 100(1).jpg  100(2).jpg 100(3).jpg
200文件夹内复制入 200-a.jpg  200-b.jpg 200-c.jpg 200(1).jpg 200(2).jpg 200(3).jpg

如果有同名文件的话 则替换原来的。


量比较多,可能会有300多个文件夹,然后有上千张图片。这个需要考虑下哦。

先表示感谢

求助,谁能帮助我下。

TOP

没有人能理解我的意思吗?希望能活动帮助。一直守着帖子

TOP

1、标题因为过于宽泛而违规,请修改为一个更加具体的标题;
2、你的文件夹结构是什么样的?请详细说明;比如这300个文件夹都在同一路径的同一层上,还是它们含有子目录?或者是在不同的位置上?
3、请在某个文件夹下测试如下代码:
  1. @echo off
  2. for %%i in (*.jpg) do (
  3.     for /f "delims=-(" %%j in ("%%i") do (
  4.         md "%%j" 2>nul
  5.         copy /y "%%i" "%%j"
  6.     )
  7. )
  8. pause
复制代码
尺有所短寸有所长,学好批处理没商量;
考虑问题复杂化,解决问题简洁化。

心在天山,身老沧州。

TOP

在a目录下运行:
  1. @echo off
  2. for /r %%a in (*.jpg) do (
  3.      for /f "delims=-(" %%b in ("%%~na") do (
  4.           if not exist %%b md %%b
  5.           copy /y "%%~nxa" "%%b\"     
  6.      )
  7. )
复制代码
***共同提高***

TOP

第一:文件夹名称的规则是什么,是遇到-或者(就截取前面所有的字符串,用这些字符串命名文件夹,还是说取前3个字符,用这3个字符命名文件夹
第二:在第一条未明确的情况下,可能出现名称为100的文件夹和名称为1000的文件夹,此时若相片的名称为1000-a.jpg,放入100还是1000
第三:图片都在一个文件夹内,如何会出现同名文件,你那句覆盖想表达一个什么要求

TOP

返回列表