você precisa usar uma implementação real de um programa zip. Dê uma olhada no gzip, bzip ou 7zip. Cada programa terá diferentes opções de linha de comando
Eu acho que o cabeçalho explica a questão. Eu quero fazer dentro de um arquivo bat:
zip /a /m myfile.log myarchive.zip
onde acabei de inventar o comando zip e as opções: / a adicionar arquivo / m Mover arquivo
É executado no Windows Server 2003.
Eu usei o 7-Zip em arquivos em lote, essa linha, por exemplo, compacta todos os arquivos * .bak em uma determinada pasta:
FOR /f %%i in ('DIR /b D:\Backup\*.bak') DO "C:\Program Files-Zipz.exe" a -tbzip2 -mx3 D:\BackupCompressed\%%i.7z D:\Backup\SQLDaily\%%i
Você tem que baixar a versão correta do 7-Zip para seu sistema operacional (32 ou 64 bits e use o 7z.exe).
Aqui está o link para uma página com exemplos de linha de comando .
Tags archive batch-file