To flatten everything into (risk of overwriting same‑named files):
# Extract all files from all ZIPs into a single folder Get-ChildItem $source -Filter *.zip | ForEach-Object [System.IO.Compression.ZipFile]::ExtractToDirectory($_.FullName, $destination) is there a way to unzip multiple files at once
$source = "C:\Path\To\Zips" $destination = "C:\Path\To\Output" Add-Type -AssemblyName System.IO.Compression.FileSystem Get-ChildItem $source -Filter *.zip | ForEach-Object [System.IO.Compression.ZipFile]::ExtractToDirectory($ .FullName, "$destination$($ .BaseName)") To flatten everything into (risk of overwriting same‑named
for zip in *.zip; do unzip "$zip" -d "$zip%.zip"; done Extract all ZIPs into : "$destination$($ .BaseName)") for zip in *.zip