01 前言
在清理磁盘文件,偶然发现一堆老照片(JPG格式)的备份,但是全都放在一个文件夹下了,有些乱。想按月份把它们简单归类一下,然后另做打算。
02 正文
不多说,脚本如下:
@echo off
powershell.exe -command "dir -File -Filter '*.jpg' | ForEach-Object {$temp = $_.LastWriteTime.ToString('yyyy-MM');if($_.BaseName -match '^IMG.*?'){$temp = ($_.BaseName -replace '[-_]','');$temp = $temp.Substring(3,4)+'-'+$temp.Substring(7,2)}mkdir $temp -ErrorAction 'SilentlyContinue'|Out-Null;Move-Item -Path $_.FullName -Destination $temp};Write-Host 'Done...'"
echo.
pause
脚本使用说明
- powershell
5.1下测试通过- powershell嵌入了CMD命令,另存为
.bat,放在需要整理的文件夹目录下(无子文件夹),双击运行即可- 默认只处理
JPG格式的文件,如需其他格式,比如png,请修改脚本中*.jpg为*.png- 如果文件名以
IMG开头,且紧接着是日期型文本的,比如IMG201609142115.jpg或IMG_20160911_1249.jpg或IMG-20160528-2303.jpg,均将此日期解析为其归类依据。否则,其余(命名不规范的,比如f53c0e09212.jpg)按文件的最后修改时间作为其归类的依据
放上效果图。
没整理之前是这样:

整理后是这样:

03 后记
又可以愉快的玩耍了~
欢迎留言交流~
------END------
本文介绍了一款Powershell脚本,用于批量整理照片,按时间自动归类到不同文件夹,支持按文件名或修改时间进行智能分类。
459

被折叠的 条评论
为什么被折叠?



