Em vez de compará-los, eu escreveria um script para recriar os arquivos XML a partir da saída de uma ferramenta como o ImageMagick's identify
Eu começaria com algo como
for %f in (*.*) do ^
identify -format '<IMGRES WIDTH="%w" HEIGHT="%h" />' %f% > %f%.xml
Em seguida, corrija o tratamento da extensão do nome de arquivo, etc, etc.
Para fazer uma comparação como você pergunta, eu usaria uma linguagem de script melhor (Perl no meu caso, mas eu espero que muitas outras pessoas usem o powershell embutido)
Você pode usar o código acima, mas gravar a saída em um nome de arquivo fixo e, em seguida, usar fc
e if
no loop for para gerar a saída desejada.
Para fazer o que você pede usando apenas ferramentas internas, eu vejo o powershell.
Aqui está um exemplo de da powershellcommunity.org que você pode usar como um ponto de partida.
function _Get-ImageStream
{
param ($File)
$image = [System.Drawing.Image]::FromFile($File)
$imageStream = New-Object System.IO.MemoryStream
$image.Save($imageStream, [System.Drawing.Imaging.ImageFormat]::Jpeg)
return $imageStream
}
[System.Reflection.Assembly]::LoadFile( "C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Drawing.dll")
"Name|SizeInBytes|Width|Height" >> C:\JPGInfo.txt
$path = "C:\Images\"
$imageFiles = Get-ChildItem -Recurse $path -Include *.jpg
foreach ($image in $imageFiles)
{
$name = $image.Name
$length = $image.Length
$imageStream = _Get-ImageStream -File $image.FullName
$width = $imagestream.Width
$height = $imageStream.Height
"$name|$length|$width|$height" >> C:\JPGInfo.txt
}