我试图在目录中获取图片的尺寸,并且由于某种原因,下面的代码没有返回值? $ Picdata是空的?任何想法..
$picdata = Get-FileMetaData -folder (Get-childitem ($SourceFolder + "\" + $Source.Name + "\Folder1") -Recurse -Directory).FullName
$picdata |Select 'Dimensions'
答案 0 :(得分:1)
在我快速进行谷歌搜索之后,看起来你正在引用一篇文章"嘿,脚本专家": http://blogs.technet.com/b/heyscriptingguy/archive/2014/02/06/use-powershell-to-find-metadata-from-photograph-files.aspx
看起来你可能试图在没有完整代码的情况下调用该函数。
代码可在此处找到: http://gallery.technet.microsoft.com/scriptcenter/get-file-meta-data-function-f9e8d804
我刚刚在一个文件夹上测试了脚本,它看起来效果很好。只需更改最后一行中的路径即可指向您的文件夹。
Function Get-FileMetaData
{
Param([string[]]$folder)
foreach($sFolder in $folder)
{
$a = 0
$objShell = New-Object -ComObject Shell.Application
$objFolder = $objShell.namespace($sFolder)
foreach ($File in $objFolder.items())
{
$FileMetaData = New-Object PSOBJECT
for ($a ; $a -le 266; $a++)
{
if($objFolder.getDetailsOf($File, $a))
{
$hash += @{$($objFolder.getDetailsOf($objFolder.items, $a)) =
$($objFolder.getDetailsOf($File, $a)) }
$FileMetaData | Add-Member $hash
$hash.clear()
} #end if
} #end for
$a=0
$FileMetaData
} #end foreach $file
} #end foreach $sfolder
} #end Get-FileMetaData
$picdata = Get-FileMetaData -Folder 'C:\users\Public\Pictures' | select name, Dimensions
$picdata