2008-12-13 24 views
8

Robocopy es la mejor manera confiable y rica en funciones para copiar por lotes archivos en Windows. Sin embargo, es una herramienta de línea de comando.¿Hay algún contenedor API de Robocopy?

Estoy buscando una biblioteca/API que podría hacer lo mismo en mi programa. Traté de usar Process.Start(), pero luego tengo que capturar y analizar stdout para la barra de progreso y no hay manera de sobrescribir el comportamiento.

Por ejemplo, excluir la base de archivos en la función de delegado; cambiar el nombre del archivo si es anterior; (re) iniciar copia basada en algunos eventos.

Supongo que copiar, copiar, copiar recursivamente, etc., debe ser la mayor frecuencia que los programadores de ruedas reinventan. ¿Hay alguna API/biblioteca que haya perdido?

Respuesta

2

Gracias por sus respuestas, y después de algunas investigaciones más, creo que la API no existe.

El grado máximo de reutilización de la característica de Robocopy es fork un proceso secundario con argumentos de línea de comando.

2

Parece que hay algunas cosas que le dan una GUI, p. Ej. Synchronizing Images and Files in Windows Vista and XP Using Microsoft SyncToy (foro here) y Utility Spotlight - Robocopy GUI. Aún no he encontrado una API, ni tampoco si Robocopy expone el control de estilo ActiveX.

Edición: El bastante grande descripción en línea de Robocopy dice algo sobre

Robocopy 'Jobs' y la opción 'Monitor de origen' proporcionar una alternativa a la creación de una tarea programada para ejecutar un archivo batch con una Comando RoboCopy.

Podría ayudar. Tal vez no.

7

que se dan cuenta que este es un post muy antiguo, pero por si acaso alguien se tropieza con ella ...

me escribió un contenedor para Robocopy en C# llamado RoboSharp. Hace exactamente lo que el OP originalmente solicitó.

https://robosharp.codeplex.com/

Cuestiones relacionadas