Board logo

标题: [文本处理] [已解决]批处理如何将文件名前缀相同的图片移动到同一文件夹? [打印本页]

作者: 阿乐    时间: 2016-2-20 11:00     标题: [已解决]批处理如何将文件名前缀相同的图片移动到同一文件夹?

是这样的,在D:\photos\下有一批照片,一千多张文件,文件名都如下格式
20160101_XXXXX0001.jpg
20160101_XYZAB0002.jpg
20160101_XXYYZ0003.jpg
...
20160102_AABBC0001.jpg
...
这一批照片中有很多不同的年月日前缀

要求处理如下,根据文件名的前缀 年月-日 生成两层的文件夹,
比如根据文件20160101_XXXXX0001.jpg就是要新建201601文件夹,然后再新建01文件夹,
并且把20160101_XXXXX0001.jpg归类移到这个01文件夹里面,并且删除这个文件名的前9位字符。
最终的效果是这样。由原始的D:\photos\20160101_XXXXX0001.jpg,归类整理成这样最终的文件路径
D:\photos\201601\01\XXXXX0001.jpg

请大侠帮忙怎么写批处理才能完成这样的整理 感谢!
作者: ivor    时间: 2016-2-20 11:49

本帖最后由 ivor 于 2016-2-20 11:54 编辑

回复 1# 阿乐
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f %%a in ('dir /b *.jpg') do (
  3. set "date=%%a"
  4. md !date:~0,6!\!date:~6,2! 2>nul
  5. move %%a !date:~0,6!\!date:~6,2!\!date:~9!
  6. )
  7. pause
复制代码

作者: 阿乐    时间: 2016-2-21 22:36

回复  阿乐
ivor 发表于 2016-2-20 11:49



    谢谢大侠出手帮忙。谢谢。成功解决问题了,非常感谢
作者: 阿乐    时间: 2016-2-21 22:41

非常厉害,感谢大神,代码简洁解决问题




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