Você pode usar o programa de arquivamento 7-zip . Não lutaria com arquivos que já estão em uso. Você pode escrever um script (batch / cmd / ps) executado a partir do agendador periodicamente e analisar o erro retornado pelo 7-zip códigos para decidir se você quer esperar e tentar arquivar arquivos ocupados ou simplesmente pular arquivos que estão sendo usados pelo seu serviço.