以下代码可用于整理图片档案,它能从图片文件获取相关的拍摄信息。
使用一个系统函数获得”我的图片”的路径,接着从其目录和子目录查询所有的文件。
获得的结果通过管道符传递给函数Get-DateTaken,它将返回这些图片的名字、文件夹及照片的拍摄日期。
完整代码:
function Get-DateTaken
{
param
(
[Parameter(ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)]
[alias('FullName')]
[String]
$Path
)
begin
{
$shell = New-Object -COMObject Shell.Application
}
process
{
$returnvalue = 1 | Select-Object -Property Name, DateTaken, Folder
$returnvalue.Name = Split-Path $path -Leaf
$returnvalue.Folder = Split-Path $path
$shellfolder = $shell.Namespace($returnvalue.Folder)
$shellfile = $shellfolder.ParseName($returnvalue.Name)
$returnvalue.DateTaken = $shellfolder.GetDetailsOf($shellfile, 12)
$returnvalue
}
}
$picturePath = [System.Environment]::GetFolderPath('MyPictures')
Get-ChildItem -Path $picturePath -Recurse -ErrorAction Silentlycontinue |
Get-DateTaken
以上powershell代码可以获取图片名字、文件夹与拍摄时间等信息,很实用,希望对大家有所帮助。