Ну, это зависит ....
Если вы используете Linux или Linux-подобную оболочку (например, cygwin) в Windows, это простая программа для написания на bash или на вашем любимом языке, таком как python или perl.
Вот некоторый (непроверенный;)) псевдокод (несколько похожий на bash, но без большого количества дополнительного необходимого синтаксиса).
I=0 ##File counter
J=1 ##Archive counter
## the following while strategy will work in most languages as long as you don't
## have thousands of files - if you do, read them in 1 at a time in the loop
while FILE in <list-of-files-to zip> ## Loop across all files like *.txt
do
if I mod 3 == 0 ## If we're at the start of a new archive
then
COMMAND="7z -a archive"J".7z " FILE " " ##Start a new command line for archive "J"
J++
else
COMMAND=COMMAND FILE ##append the next file name to the command string
if I mod 3 == 2 ## if the desired number of files are appended
then
append COMMAND string to a script file to run later
or run it directly right here
COMMAND="" ## clear the COMMAND string
fi
fi
I++
done
## Handle left over files
I-- ## Loop increments I after last file
if I mod 3 != 2
then
append COMMAND string to a script file to run later
or run it directly right here
fi
Вы можете изменить "3" на переменную (SIZE), чтобы создавать архивы с разным количеством файлов. Если вы это сделаете, то "2" становится РАЗМЕР-1.
НТН