Add-Type -AssemblyName System.Drawing $Array = (Get-ChildItem "*.jpg").fullname | Sort-Object $strB = "p12345678-001122" $n = 1 foreach ($a in $Array) { $img = New-Object Drawing.Bitmap($a) if (($img.PropertyItems | Where-Object{$_.Id -eq 36867}).Value) { $byteAry = ($img.PropertyItems | Where-Object{$_.Id -eq 36867}).Value $str = [System.Text.Encoding]::ASCII.GetString($byteAry) $str0 = $str.Substring(0, 4) $str1 = $str.Substring(5, 2) $str2 = $str.Substring(8, 2) $strH = "-" $str3 = $str.Substring(11, 2) $str4 = $str.Substring(14, 2) $str5 = $str.Substring(17, 2) $strA = "p" + $str0 + $str1 + $str2 + $strH + $str3 + $str4 + $str5 $img.Dispose() $img = $null if ($strB -eq $strA) { $strA = $strA + "-" + $n.ToString("00") $n++ } else { $strB = $strA $n = 1 } Rename-Item $a ($strA + ".jpg") } else { $img.Dispose() $img = $null } }