Ci sono dei involucro API di Robocopy? [chiuso]
Domanda
Robocopy è il modo migliore ricchi affidabile e caratteristica per copiare i file in batch su Windows. Tuttavia, è uno strumento a riga di comando.
Sto cercando una libreria / API che avrei potuto fare lo stesso nel mio programma. Ho cercato di usare Process.Start (), ma poi devo catturare e analizzare stdout per la barra di avanzamento e non c'è modo al comportamento di sovrascrittura.
Per esempio, escludere file di base sulla funzione delegato; rinominare il file se meno recente; (Ri) avviare la copia sulla base di alcuni eventi.
Credo copia, xcopy, copia ricorsiva ed ecc, dovrebbe essere il più programmatori ruote frequenza si reinventano. Ci sono delle API / libreria che ho perso?
Soluzione 3
Grazie per le vostre risposte, e dopo un po 'di ricerche, credo che l'API non esiste.
Il massimo grado di riutilizzare la funzione da Robocopy è fork di un processo figlio con la linea di comando.
Altri suggerimenti
Mi rendo conto che questo è un post molto vecchio, ma in caso qualcuno inciampa su di essa ...
ho scritto un wrapper per robocopy in C # chiamato RoboSharp. Fa esattamente quello che l'OP originariamente richiesto.
Sembra che ci sia un po 'di roba là fuori che mette una GUI su di esso, ad esempio, Sincronizzazione di immagini e file in Windows Vista e XP Utilizzo di Microsoft SyncToy (forum qui ) e Utilità in primo piano - Robocopy GUI . Non ho ancora trovato un'API, né se Robocopy espone il controllo in stile ActiveX.
Modifica : L'piuttosto grande descrizione online di Robocopy dice qualcosa circa
'Jobs' e l'opzione 'sorgente di monitoraggio' Robocopy fornire un'alternativa alla creazione di un'operazione pianificata per eseguire un batchfile con un comando RoboCopy.
potrebbe aiutare. Non potrebbe.