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?

È stato utile?

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.

https://github.com/tjscience/RoboSharp

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top