SE uma solução do PowerShell estiver correta e você tiver o PowerShell 3.0+, poderá usá-la:
$except = @(
"Thisfile.png",
"ThisFolder",
"ThisOtherFile.exe"
)
$source = "D:\somepath"
$destination = "D:\otherpath"
gci $source | % {
if (!( $_.Name -in $except)) {
Move-Item $_.FullName $destination -Force
if ($?) { Write-Host "$($_.Name) was moved." }
}
else {
Write-Host "$($_.Name) was not moved." -fore Red
}
}
adicione o FileNames que você não deseja processar dentro de $except = @()