Eu tive o mesmo problema com apenas um arquivo zip de 1kb sendo criado. Descobri que incluí um -noexit no comando: powershell.exe -noexit -Command "gi c: \ source | C: \ users \ Kim \ Dpcuments \ WindowsPowerShell \ out-zip.ps1 c: \ destino \ archive.zip"
Concedido, isso parece causar alguns outros problemas ao tentar usar isso em um arquivo em lote porque deixa o powershell aberto. Existem algumas outras soluções que estou investigando e que apenas aguardarão um determinado período de tempo para o "zip" ser concluído ou que realmente compara os arquivos de origem com o arquivo zip concluído antes de sair.