Pergunta

Robocopy é a melhor maneira rica confiável e recurso para copiar arquivos batch no Windows. No entanto, é uma ferramenta de linha de comando.

Eu estou procurando uma biblioteca / API que eu poderia fazer o mesmo no meu programa. Eu tentei usar Process.Start (), mas então eu tenho que captura e na saída padrão de análise para a barra de progresso e não há maneira do comportamento de substituição.

Por exemplo, excluir base de arquivo em função de delegado; renomear arquivo se ele é mais velho; (Re) iniciar a cópia com base em alguns eventos.

Eu acho cópia, xcopy, cópia recursiva e etc, devem ser os a maioria dos programadores roda frequência fazer reinventar. Há algum API / biblioteca eu perdi?

Foi útil?

Solução 3

Obrigado por suas respostas, e depois de mais algumas pesquisas, acredito que a API não existe.

O grau máximo de reutilizar o recurso de Robocopy é fork um processo filho com argumentos de linha de comando.

Outras dicas

Eu percebo que este é um post muito antiga, mas apenas no caso de alguém se depara com isso ...

Eu escrevi um wrapper para robocopy no c # chamado RoboSharp. Ele faz exatamente o que o OP originalmente solicitado.

https://github.com/tjscience/RoboSharp

Parece haver alguma coisa lá fora, o que coloca uma GUI em que, por exemplo, Sincronizar imagens e arquivos no Windows Vista e XP usando o Microsoft SyncToy (fórum aqui ) e Utilitário em destaque - Robocopy GUI . Eu não encontrei uma API ainda, nem se Robocopy expõe o controle ActiveX de estilo.

Editar : O bastante grande descrição online de Robocopy diz algo sobre

Robocopy 'Jobs' ea opção 'source Monitor' fornecer uma alternativa para a criação de uma tarefa agendada para executar um batchfile com um comando RoboCopy.

ajuda Poder. talvez não.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top