esto al final nunca lo usé, pero seguramente funciona

########### PS aliasing for 7zip [http://mats.gardstad.se/matscodemix/2009/02/05/calling-7-zip-from-powershell/]
 
if (-not (test-path "$env:ProgramFiles\7-Zip\7z.exe")) {throw "$env:ProgramFiles\7-Zip\7z.exe needed"} 
 
set-alias zip "$env:ProgramFiles\7-Zip\7z.exe"
 
########### variables ###########
 
$filePath = "D:\borrar"
 
$bak = Get-ChildItem -Recurse -Path $filePath | Where-Object { $_.Extension -eq ".bak" }
 
########### done with the variables, now compressing... ##################
 
foreach ($file in $bak) {
					$name = $file.name
					$directory = $file.DirectoryName
					$zipfile = $name.Replace(".bak",".7z")
					zip a -t7z "$directory\$zipfile" "$directory\$name" 	
				}
 
########### removing old files... ##################
 
Get-ChildItem *.bak -Recurse | foreach { Remove-Item -Path $_.FullName }
 
########### all done ##########