Hallo,
Ich habe meine Dateien (Schule) auf dem USB-Stick gespeichert, damit ich die Dateien in der Schule dabei habe.
Zu Hause habe ich die Dateien jedoch auf der Festplatte gespeichert, da dies auf dem USB-Stick zu langsam ist.
Wenn ich nun in der Schule Änderungen mache (Datei bearbeiten, neu erstellen, löschen) muss ich die entsprechenden Dateien zu Hause vom Stick auf den Computer kopieren, bzw. wenn ich zu Hause arbeite muss die die Dateien noch auf den Stick kopieren -> manuell ist dies allerdings mühsam...
Ich möchte nun ein Programm erstellen, welches die beiden Pfade per Mausklick abgleicht (also nicht unbedingt automatisch), weiss aber nicht genau, wie ich dies machen soll:
1. FileSystemWatcher
Mit einem FileSystemWatcher könnte ich theroretisch die beiden Pfade überwachen, die Ereignisse in einer Datei abspeichern und dann auf Mausklick synchronisieren. Das Problem dabei ist, dass die Anwendung die ganze Zeit im Hintergrund laufen müsste - zu Hause kein Problem, in der Schule allerdings schon.
2. Geänderte Daten
Ein Programm welches alle Ordner durchläuft und dann die Daten anhand des Änderungsdatums kopiert,
funktioniert leider auch nicht: wird eine Datei gelöscht, würde sie vom anderen Pfad wieder kopiert, anstatt dass die zweite Datei auch gelöscht wird.
3. Information in Datei abspeichern
Meine dritte Idee war, in jedem Ordner eine XML-Datei (oder so) abzuspeichern, in welchem die im Ordner enthaltenen Dateien angegeben werden (bei beiden Pfaden). Existiert eine Datei die in der XML-Datei angegeben ist nicht mehr, wurde sie (logischerweise) gelöscht und muss somit beim zweiten Pfad auch gelöscht werden (und dann auch in der XML-Datei). Das Problem dabei ist, dass wenn ein Ordner der bei beiden Pfaden existiert, gelöscht wird,
weiss die Anwendung nicht, dass der Ordner gelöscht wurde und kopiert ihn vom anderen Pfad wieder.
Ich müsste die Information (XML-Datei) also irgendwie extern abspeichern, damit die Informationen erhalten bleiben...
Wie mache ich dies am besten? Oder gibt es eine bessere Möglichkeit?
(Ich möchte nicht fertigen Code, sondern nur Ideen, wie ich dies realisieren könnte...)
Schon mal Danke für die Ideen
Gruss
sandiro
Ich habe meine Dateien (Schule) auf dem USB-Stick gespeichert, damit ich die Dateien in der Schule dabei habe.
Zu Hause habe ich die Dateien jedoch auf der Festplatte gespeichert, da dies auf dem USB-Stick zu langsam ist.
Wenn ich nun in der Schule Änderungen mache (Datei bearbeiten, neu erstellen, löschen) muss ich die entsprechenden Dateien zu Hause vom Stick auf den Computer kopieren, bzw. wenn ich zu Hause arbeite muss die die Dateien noch auf den Stick kopieren -> manuell ist dies allerdings mühsam...
Ich möchte nun ein Programm erstellen, welches die beiden Pfade per Mausklick abgleicht (also nicht unbedingt automatisch), weiss aber nicht genau, wie ich dies machen soll:
1. FileSystemWatcher
Mit einem FileSystemWatcher könnte ich theroretisch die beiden Pfade überwachen, die Ereignisse in einer Datei abspeichern und dann auf Mausklick synchronisieren. Das Problem dabei ist, dass die Anwendung die ganze Zeit im Hintergrund laufen müsste - zu Hause kein Problem, in der Schule allerdings schon.
2. Geänderte Daten
Ein Programm welches alle Ordner durchläuft und dann die Daten anhand des Änderungsdatums kopiert,
funktioniert leider auch nicht: wird eine Datei gelöscht, würde sie vom anderen Pfad wieder kopiert, anstatt dass die zweite Datei auch gelöscht wird.
3. Information in Datei abspeichern
Meine dritte Idee war, in jedem Ordner eine XML-Datei (oder so) abzuspeichern, in welchem die im Ordner enthaltenen Dateien angegeben werden (bei beiden Pfaden). Existiert eine Datei die in der XML-Datei angegeben ist nicht mehr, wurde sie (logischerweise) gelöscht und muss somit beim zweiten Pfad auch gelöscht werden (und dann auch in der XML-Datei). Das Problem dabei ist, dass wenn ein Ordner der bei beiden Pfaden existiert, gelöscht wird,
weiss die Anwendung nicht, dass der Ordner gelöscht wurde und kopiert ihn vom anderen Pfad wieder.
Ich müsste die Information (XML-Datei) also irgendwie extern abspeichern, damit die Informationen erhalten bleiben...
Wie mache ich dies am besten? Oder gibt es eine bessere Möglichkeit?
(Ich möchte nicht fertigen Code, sondern nur Ideen, wie ich dies realisieren könnte...)
Schon mal Danke für die Ideen
Gruss
sandiro