标题: [文件操作] [已解决]批处理如何根据文件名的部分字符串复制文件到以该字符串命名的文件夹里? [打印本页]
作者: qq787851791 时间: 2015-11-2 15:42 标题: [已解决]批处理如何根据文件名的部分字符串复制文件到以该字符串命名的文件夹里?
本帖最后由 pcl_test 于 2016-8-5 20:24 编辑
1.文件夹tupian里有很多图片
如 201501fsfsddf.jpg
201501fsfsddf.jpg
201502fsfsddf.jpg
201502fsfsddf.jpg
201503fsfsddf.jpg
201504fsfsddf.jpg
2.文件夹backpic下有很多对应月份的文件夹
如 201501
201502
201503
201504
......
201512
现在我想把tupian文件夹下的图片按照名称前6位复制到backpic下对应名称的文件夹里面
作者: qq787851791 时间: 2015-11-2 16:03
回复 1# qq787851791
比如把201501fsfsdf.jpg都复制到201501这个文件夹下面
作者: qq787851791 时间: 2015-11-2 16:48
来人啊 自顶
作者: pcl_test 时间: 2015-11-2 17:39
- @echo off
- setlocal enabledelayedexpansion
- for %%a in (tupian\*.jpg) do (
- set "fn=%%~na"
- md "backpic\!fn:~,6!\" 2>nul
- copy "%%a" "backpic\!fn:~,6!\"
- )
- pause
复制代码
作者: WHY 时间: 2015-11-3 09:42
for /l %%i in (201501 1 201512) do copy tupian\%%i*.jpg backpic\%%i\
作者: qq787851791 时间: 2015-11-3 09:49
回复 4# pcl_test
@echo off
setlocal enabledelayedexpansion
for %%a in (D:\tupian\*.jpg) do (
set "fn=%%~na"
md "E:\backpic\!fn:~,6!\" 2>nul
copy "%%a" "backpic\!fn:~,6!\"
)
pause
我改动了一下,加了指定盘,但是执行的时候报错:for此时不应有%%a,系统找不到指定文件,
还有图片格式可能有好几种,png,jph等
麻烦帮忙改动一下
作者: qq787851791 时间: 2015-11-3 10:19
回复 5# WHY
太给力了,兄弟~网络上多亏有你们这些热心助人的人,非常感谢,可以实现
作者: qq787851791 时间: 2015-11-3 10:35
回复 4# pcl_test
作者: just4fun 时间: 2015-12-18 20:50
回复 5# WHY
运行结果有问题,201501和201511的jpg文件都会复制到201501的文件夹里,如何修改才能解决呢?
作者: pcl_test 时间: 2016-8-5 20:23
回复 8# qq787851791
保存为批处理文件运行,不是把代码复制粘贴到cmd窗口运行
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |