O .NET Framework fornece um FileSystemWatcher classe que dispara eventos quando certas alterações são feitas no sistema de arquivos. Eu usei-o para escrever um serviço de transferência de arquivos para um projeto de trabalho e ele funciona bem. Aqui está um tutorial para um 'Serviço de Vigilância de Pastas' que deve lhe dar uma idéia do que ele pode fazer e se você quer seguir esse caminho.
Tanto quanto eu sei, a outra opção é escrever um script que é executado em um temporizador ou loop infinito e verifica regularmente os arquivos em uma pasta específica à procura de alterações. Isso poderia ser escrito em qualquer número de idiomas, mas seria uma solução menos elegante.