Runtime segurando a execução de um comando

Boa tarde,

Estou com um problema para liberar uma cópia de arquivos no meu sistema.
Basicamente ao receber os dados do usuário eu preciso substituir uma pasta estática do computador, as ações de deletar a pasta e recriar o diretório raiz estão rodando sem maiores problemas.
Basicamente, estou usando o processo abaixo (tanto para as ações descritas abaixo como para as citadas):

        String[] cmdarray= new String[3];
        cmdarray[0]= "cmd";
        cmdarray[1]= "/c";
        
        Process proc;
      
        cmdarray[2]= "xcopy /e/y END_ORIGINAL  END_DESTINO";

        proc = Runtime.getRuntime().exec(cmdarray);
        proc.waitFor();

Especificamente para o comando xcopy, o valor de saída do proc (proc.exitValue() ) consta como exception! Para comandos como copy/rmdir/mkdir a resposta dele é 0
Se eu rodar o mesmo comando na mão, via console, ele roda ok e copia tudo,
O que ocorre é que esse comando não copia todos os arquivos, copia algumas pastas com subpastas e arquivos, e outras pastas não, parece que fica travado!!
A cópia só ocorre quando eu libero a Runtime, fazendo um Runtime.getRuntime().exit(0);, porém nesse caso eu fecho todo meu sistema, ou quando de fato fecho o sistema, aí as pastas e demais arquivos são copiados.

Tentei fazer o mesmo comando porém utilizando um bat, (E dentro do bat o xcopy com os caminhos e afins) porém dá o mesmo problema… Não sei mais como proceder, alguém tem alguma idéia ou sugestão?

[]'s