1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
<# .Synopsis Check file header if it is a JPG file .EXAMPLE Check one file: Test-JPGHeader -File c:\temp\myPicture.jpg .EXAMPLE Check all jpeg files in one folder (ls c:\pictures\*.jpg ).FullName | % {if ((Test-JPGHeader -File $_) -eq $false) {Write-Host "$_ is not real JPG"}} .NOTES If file doesn't exists, function returns false #> Function Test-JPGHeader { Param ([Parameter(Mandatory=$true, Position=0)] [String]$File) $Result = $false if ((Test-Path $File) -eq $false) { Return $Result Break; } [String]$JPG = "255216255" [Byte[]]$RAWHeader = Get-Content $File -TotalCount 3 -Encoding Byte [String]$Header += $RAWHeader $Header = $Header.Replace(" ","") $Result = $JPG -contains $Header Return $Result } |