Eu não sei de um utilitário que fornece isso diretamente, mas é bastante simples construir um script (usando powershell, perl, python ..) para identificar os arquivos que atendem aos seus critérios, descartar os nomes completos (por exemplo, d : \ incoming \ something \ filename.ext) em um arquivo de texto plano, um nome de arquivo por linha e, em seguida, seu utilitário de compactação criar um arquivo a partir desse arquivo de lista, por exemplo
7z -a output.zip @filelist.txt
Se você colocar a coisa toda dentro do script, será muito fácil atribuir o tipo de nome de arquivo que você especificou.
Adicionado um exemplo do Powershell.
$archiveroot="c:\temp"
$oldest = (get-date) - (new-timespan -day 31)
$archivename="Incoming-" + $oldest.year + "-" +$oldest.month+".7z"
$filelist= get-childitem $archiveroot -recurse | where-object {$_.lastwritetime -gt $oldest}
$filelist | format-table -hideTableHeaders FullName | out-file -encoding utf8 -filepath lastmonthsfiles.txt
& .z.exe a $archivename '@lastmonthsfiles.txt
Não é bem um liner, você precisará apontá-lo corretamente no exe 7-Zip, adicionar alguns parâmetros de manuseio, alguns logs \ error e ele deve limpar os arquivos de trabalho, mas é um ponteiro na direção certa .