Você basicamente precisará de uma tarefa agendada que seja executada em intervalos curtos - digamos, a cada 5 minutos - para detectar uma alteração. Uma ideia que vem à mente é que você poderia fazer o hash do arquivo, armazenar o valor e, em seguida, fazer com que a tarefa agendada varresse o arquivo novamente e comparar o hash com o valor armazenado. Você parece estar familiarizado com o Powershell. O Verion 4.0 e superior tem um cmdlet Get-FileHash que você poderia usar. A partir daí, o seu script copie o arquivo se os hashes forem diferentes.
Em resposta ao comentário, aqui está um código de exemplo. StoredHash.txt é um arquivo de texto que contém o hash do arquivo em questão.
$A = Get-Content "StoredHash.txt"
$B = Get-FileHash -Algorithm MD5 -Path "A:\Example\file.txt"
If (-Not $A = $B)
{
Copy-Item "A:\Example\file.txt" -Destination "B:\Example\file.txt"
$B | Out-File "StoredHash.txt"
}
A última linha armazena o hash novo para que você possa procurar por uma alteração subsequente. Eu não testei esse código, então ele pode conter erros. Mas deve ser o suficiente para você começar.