2010-11-30 2 views
2

Robocopy ist ein großartiges Befehlszeilenprogramm zum Spiegeln von zwei Ordnern. Wir müssen die gleiche Funktionalität in einer größeren .NET-Anwendung einbinden. Es ist Teil unseres Archivierungssystems für den Dateiserver, das feststellt, welche Ordner seit einem Jahr nicht mehr verändert wurden und verschiebt sie in einen anderen Ordner.Emulation der Funktionalität von Robocopy in einer .NET-Anwendung

Ich weiß, ich könnte Robocopy shell out aber es wäre besser, wenn wir alles aus der .NET-App, z. zum Fehlerabfangen.

Das .NET-Framework hat alle Grundlagen dafür, aber ich fragte mich, ob jemand von einer 3rd-Party-Bibliothek wusste, die leistungsfähigere Synchronisierungsfunktionen bot? Um uns zu retten, das Rad neu zu erfinden. Es muss auch robust sein, damit die Chancen einer gut etablierten Bibliothek besser sind, als unsere eigene 1. Version zu versuchen.

Danke, Rob.

Antwort

2

Diese Frage ist ein bisschen alt, aber ich dachte, ich würde antworten, um jedem zu helfen, der immer noch darauf landet. Ich schrieb eine Bibliothek mit dem Namen RoboSharp (http://robosharp.codeplex.com), die alle Vorzüge von Robocopy auf C# bringt. Sehen Sie, wenn Sie die Macht von Robocopy in C# benötigen.

0

Robocopy ist rsync etwas ähnlich. Es sieht aus wie es ist ein paar Versuche, entweder rufen librsync von C# oder einen C# Ersatz bauen:

Das sieht vielversprechend (es gibt aktuelle Aktivitäten), aber ich denn es kann nicht bürgen:

+0

Danke für die Links, ich werde sie überprüfen. Meine eigene Forschung ist auch nicht zu viel aufgetaucht, also müssen wir in den sauren Apfel beißen und unser eigenes rollen. Es gibt einige Gespräche über das Kopieren von gesperrten Dateien (Schattenkopie), aber das beunruhigt mich nicht allzu sehr, da es sich um tote Ordner handelt, die wir archivieren und die keine Probleme mit gesperrten Dateien haben sollten. Pfadlängen sind jedoch ein großes Problem! –