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

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

是这样的,在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: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
复制代码
1

评分人数

#&cls&@powershell "Invoke-Expression ([Io.File]::ReadAllText('%~0',[Text.Encoding]::UTF8))" &pause&exit

TOP

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



    谢谢大侠出手帮忙。谢谢。成功解决问题了,非常感谢

TOP

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

TOP

返回列表