![Board logo](images/default/logo.gif)
标题: [文件操作] 批处理怎样复制文件? [打印本页]
作者: 巛悲剧 时间: 2011-4-8 16:32 标题: 批处理怎样复制文件?
有没有办法批量处理一个文件夹内的图片。然后更具名称,自动复制到相应的文件夹内。
列:
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多个文件夹,然后有上千张图片。这个需要考虑下哦。
先表示感谢
作者: 巛悲剧 时间: 2011-4-8 16:52
求助,谁能帮助我下。
作者: 巛悲剧 时间: 2011-4-8 17:09
没有人能理解我的意思吗?
希望能活动帮助。一直守着帖子
作者: namejm 时间: 2011-4-8 17:24
1、标题因为过于宽泛而违规,请修改为一个更加具体的标题;
2、你的文件夹结构是什么样的?请详细说明;比如这300个文件夹都在同一路径的同一层上,还是它们含有子目录?或者是在不同的位置上?
3、请在某个文件夹下测试如下代码:- @echo off
- for %%i in (*.jpg) do (
- for /f "delims=-(" %%j in ("%%i") do (
- md "%%j" 2>nul
- copy /y "%%i" "%%j"
- )
- )
- pause
复制代码
作者: batman 时间: 2011-4-8 17:26
在a目录下运行:- @echo off
- for /r %%a in (*.jpg) do (
- for /f "delims=-(" %%b in ("%%~na") do (
- if not exist %%b md %%b
- copy /y "%%~nxa" "%%b\"
- )
- )
复制代码
作者: qlkemfg 时间: 2011-4-8 17:28
第一:文件夹名称的规则是什么,是遇到-或者(就截取前面所有的字符串,用这些字符串命名文件夹,还是说取前3个字符,用这3个字符命名文件夹
第二:在第一条未明确的情况下,可能出现名称为100的文件夹和名称为1000的文件夹,此时若相片的名称为1000-a.jpg,放入100还是1000
第三:图片都在一个文件夹内,如何会出现同名文件,你那句覆盖想表达一个什么要求
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |