No PowerShell com 7-Zip:
$root = "C:\adjust\path"
Get-ChildItem $root -Directory -Recurse -Include 'doc*' | ForEach-Object -Process {
$n = 0
$dir_name = ($_.FullName) + '\' + ($_.BaseName)
while (Test-Path "$dir_name-r000.zip") {
$num = "{0:d3}" -f $n
$test = "$dir_name-r$num.zip"
if (Test-Path $test) {
$file_name = $test
$n++
} else {
."C:\Program Files-ZipzG.exe" e "$file_name" -o"$root\$_.BaseName"
break
}
}
}
"Done!'n"
Pause
Isso extrairá o arquivo com o maior número de cada pasta que contém doc
para uma nova subpasta em $root
. Se você não precisa das subpastas, simplesmente remova \$_.BaseName
da opção -o
.