【发布时间】:2019-12-10 12:59:52
【问题描述】:
我已使用 Advanced Renamer 按日期重命名所有照片,因此它们的名称如下:
2017-Oct-14_8;39_kyd.jpg
其中“8;39”是时间,“kyd”是三个随机字符组成的字符串,以减少重复名称。我想编写一个powershell脚本将它们全部分类到文件夹中,例如:
C:\图片\2017\Oct
第一个目录是年份,第二个目录是月份。如果照片没有拍摄日期元数据,则其名称为:
"--_;_kyd.jpg"
我想将它分类到位于 C:\Pictures 的“MANUAL_SORT”文件夹中。我正在尝试使用 powershell 来执行此操作,这就是我目前所拥有的:
$SourceFolder = 'C:\Pictures\Test'
$DestinationFolder = 'C:\Pictures\Test_Output'
Get-ChildItem -Path $SourceFolder -Filter *.jpg | ForEach-Object
{
$filename = $_.Name.Substring(0,7);
if ($filename.Substring(0,3) = "--_;")
{
Move-Item -Path $SourceFolder -Destination "$DestinationFolder\MAUNAL_SORT"
}
else
{
$Year = $filename.Substring(0,3)
$Month = $filename.Substring(5,7)
Move-Item -Path $SourceFolder -Destination $DestinationFolder\$Year\$Month
}
}
但我不知道如何使用 ForEach-Object 命令循环浏览每张图片。任何人都可以提出一种方法来实现这一点吗?谢谢!
【问题讨论】:
标签: powershell photo