Modificando a resposta encontrada aqui , este pedaço de script do PowerShell deve fazer o que você deseja. Basta salvá-lo como um arquivo com a extensão ".ps1". Ao chamá-lo, basta chamá-lo como ./filename.ps1 e ele irá extrair os arquivos para separar pastas, excluir os arquivos zip e remover todos os arquivos com a extensão .pdf. Eu não testei se funciona corretamente com caminhos recursivos, mas deveria, por favor, testar.
Editar: Se você não quiser que seus arquivos zip sejam excluídos, remova ou comente (#) a linha rmdir -Path $_.FullName -Force
Requisitos: PowerShell, 7-zip e para você definir o caminho do 7-zip no arquivo.
param([string]$folderPath="D:\Blah\files")
Get-ChildItem $folderPath -recurse | %{
if($_.Name -match "^*.'.zip$")
{
$parent="$(Split-Path $_.FullName -Parent)";
write-host "Extracting $($_.FullName) to $parent"
$arguments=@("e", "'"$($_.FullName)'"", "-o'"$($parent)\$($_.BaseName)'"");
$ex = start-process -FilePath "'"C:\Program Files-Zipz.exe'"" -ArgumentList $arguments -wait -PassThru;
if( $ex.ExitCode -eq 0)
{
write-host "Extraction successful, deleting $($_.FullName)"
rmdir -Path $_.FullName -Force
$arguments1="$($parent)\$($_.BaseName)\*.pdf"
rmdir -Recurse -Path $arguments1
}
}
}