Тут, видимо, надо в два этапа.
Powershell:
Код:

# Удаление ненужных файлов
$folders = (dir D:\temp\123 -Recurse -Directory -Force).fullname
$ext = ".jpg",".png"
$folders |% {
$files = dir "$_" -File -Force
if ($files.extension -notcontains "$($ext[0])" -or $files.extension -notcontains "$($ext[1])") {
foreach ($file in $files.fullname) {del "$file" -force -confirm:$false}
}
else {del $files.FullName -Exclude "*$($ext[0])","*$($ext[1])" -Force -confirm:$false}
}
# Удаление пустых каталогов
$folders |% {
$files = dir "$_" -File -Recurse -Force
if (!($files)) {del "$_" -force -confirm:$false}
}