Autor Beitrag
Xardas008
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 149

Win 7 Professional x64, Ubuntu 10.04, Windows Server 2008 R2
C#, Visual Studio 2008 Pro, Visual Studio 2010 Ultimate, Eclipse (Java)
BeitragVerfasst: Fr 16.05.08 21:11 
Hi,

folgendes Problem habe ich. Wenn ich eine Datei aus dem Internet runterlade, dann steht als letztes Änderungsdatum meist das drin, wann es zuletzt geändert wurde, unabhängig davon wann die Datei auf meinem PC gespeichert wurde.
Ich will aber, dass dort das aktuelle Systemdatum reingeschrieben wird, sobald die Datei auf die Festplatte geschrieben wurde, um dann nach eben dem letzten Änderungsdatum sortieren zu können. Grund, ich will die Datei, die zuletzt gespeichert wurde ganz am Ende, dort wo sie halt beim Speichern stand.
Aktuell ist dies unter Windows nicht möglich daher der Dienst.

Folgenden Code habe ich bisher zusammengestellt:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
        private void fileSystemWatcher1_Created(object sender, FileSystemEventArgs e)
        {

            if (e.ChangeType == WatcherChangeTypes.Created)
            {
                DirectoryInfo DI = new DirectoryInfo(e.FullPath);
                DI.LastWriteTime = DateTime.Now;
            }
            
        }

Die If-Abfrage kann ich mir eigentlich sparen oder? Weil er ja nur dann in dieses Event springt, wenn eine Datei erstellt wurde.

Jetzt zu dem Problem: Kann das so funktionieren? Gilt das Speichern der Datei, die noch nicht auf der Platte war (z.B. beim Entpacken eines Archivs), als erstellen und würde der dann dort reinspringen?

Hauptsächliches Problem: Ich kann den Dienst nicht Debuggen, somit auch nicht testen ob er dort reinspringt. Nur wenn ich das ganze in eine GUI-Anwendung einbaue (Konsolenanwendung kann leider dieses Steuerelement nicht aufnehmen, obwohl es nicht visuell ist), springt er mir nicht in den Debugger bzw macht erst gar nichts.