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------