Esta é uma combinação clássica, chamada "problema de partição".
Você pode criar um programa em C para calcular isso, não se preocupe com o algoritmo, existem muitas bibliotecas disponíveis online. Acabei de encontrar este caso você precise executá-lo com frequência Terá que escrever o prog C para procurar em diretórios e pegar os tamanhos de arquivo.
Se você quiser usá-lo apenas uma vez ou de uma maneira mais confusa, coloque todos os nomes de arquivos e tamanhos em um nome de arquivo ALL_FILES, pegue os nomes de arquivos e tamanhos em uma matriz C e calcule as partições usando a biblioteca.
Não gosta de C? Muitas outras opções, basta procurar "problema de partição ur_fav_language "