Não estou a perceber o teu código.
O teu 2º loop está a adicionar os ficheiros do servidor num array para comparares se é igual ao ficheiro que estás a tentar copiar para quê? Nada te garante mesmo que os dois diretórios sejam iguais que os ficheiros retomados em cada loop serão em sequência, logo, poderás ter os mesmos ficheiros e esse If Else é inútil, além de que estás a usar o File.Copy com a opção de substituir o arquivo se ele existir... por isso, não entendo mesmo o teu código.
Eu removia o teu 2º loop (e até mesmo o 1º, só se quisesses manter um registo de ficheiros transferidos) e usava o File.Copy com o atributo "true" como estás a utilizar, assim, ele copia os ficheiros quer existam quer não.
Se não queres substituir ficheiros existentes, metes false, mas neste caso terás de apanhar as exceções ou então verificar antes se o ficheiro existe com File.Exists e remover o 3º atributo do File.Copy pois não precisas dele.
↧