TruckerTom 10 Geschrieben 11. März 2009 Melden Teilen Geschrieben 11. März 2009 Hallo Kollegen, gibt es mit Bordmitteln von Windows XP die Möglichkeit, den zuletzt-geändert-Stand einer Datei festzustellen und wenn dieser NICHT von gestern ist, ein PopUp einzublenden (z.B. mit einer batch-Datei oder ähnliches, das ich in den Autostart schmeissen kann)? Gruß Thomas Zitieren Link zu diesem Kommentar
d.stegemann 10 Geschrieben 11. März 2009 Melden Teilen Geschrieben 11. März 2009 Hallo Thomas, unter vbs gibts im FilesystemObjekt DateLastModified. Hier erstmal ein kleines Codeschnippselchen. Mache dann auch später ein kleines Beispiel dazu falls gewünscht.. Function FileLastModified(Fname) FileLastModified = "" Set fs = CreateObject("Scripting.FileSystemObject") if fs.FileExists(Fname) = True then Set f = fs.GetFile(Fname) FileLastModified = f.DateLastModified end if Set f = Nothing Set fs = Nothing end function Gruß Dirk Zitieren Link zu diesem Kommentar
TruckerTom 10 Geschrieben 11. März 2009 Autor Melden Teilen Geschrieben 11. März 2009 Hallo Dirk, ja, ich wäre Dir sehr dankbar, wenn Du mir dazu ein kleines Beispiel machst (ich habe bisher gar keine Ahnung von vbs, das sind für mich alles böhmische Dörfer). Danke Thomas Zitieren Link zu diesem Kommentar
d.stegemann 10 Geschrieben 11. März 2009 Melden Teilen Geschrieben 11. März 2009 Hallo Thomas, Dim s_file ' File das geprüft wird s_file = "C:\test.txt" If not FileLastModified(s_file) >= _ DateAdd("d", Now(), -1) Then _ MsgBox "Die Datei " & s_file &" wurde zuletzt am " _ & FileLastModified(s_file)&" geändert" Function FileLastModified(Fname) FileLastModified = "" Set fs = CreateObject("Scripting.FileSystemObject") if fs.FileExists(Fname) = True then Set f = fs.GetFile(Fname) FileLastModified = f.DateLastModified end if Set f = Nothing Set fs = Nothing end function Hier wird geprüft, ob der Zeitstempel der Datei von gestern oder aktueller ist. Wenn es nur gestern sein soll musst du aus dem ">=" in Zeile 5 ein "=" machen. Gruß Dirk Zitieren Link zu diesem Kommentar
TruckerTom 10 Geschrieben 11. März 2009 Autor Melden Teilen Geschrieben 11. März 2009 Hallo Dirk, vielen Dank, das funktioniert so wie ich das mir gedacht habe. Im grossen und ganzen verstehe ich sogar, was und wie das funktioniert. Wenn ich jetzt die MsgBox bearbeiten will (Rotes X muss sein :) ) dann passt irgendwas nicht :( Er sagt, ich dürfte in einer Unterroutine keine Klammern verwenden. Heisst das, ich müsste für die MessageBox wieder eine Funktion machen und diese dann aufrufen? MsgBox ("Die Datei " & s_file &" wurde zuletzt am " _ & FileLastModified(s_file)&" geändert", vbCritical + vbOkOnly, Titel) Danke Thomas Zitieren Link zu diesem Kommentar
d.stegemann 10 Geschrieben 11. März 2009 Melden Teilen Geschrieben 11. März 2009 Hallo Thomas, mach mal lieber so... a= MsgBox ("Die Datei " & s_file &" wurde zuletzt am " _ & FileLastModified(s_file)&" geändert", vbCritical + vbOkOnly, "Titel der msgbox") dann klappts auch mit dem Nachbarn ;) Gruß Dirk Zitieren Link zu diesem Kommentar
TruckerTom 10 Geschrieben 11. März 2009 Autor Melden Teilen Geschrieben 11. März 2009 Thx Dirk, kannst Du mri auch eine kurze Erklärunggeben, warum ich da das "a =" davor setzen muss? Ansonsten ist das genau das, was ich mir gedacht habe. Gruß Thomas Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 11. März 2009 Melden Teilen Geschrieben 11. März 2009 Moin, kannst Du mri auch eine kurze Erklärunggeben, warum ich da das "a =" davor setzen muss? musst du gar nicht. MsgBox lässt sich als Prozedur und als Funktion aufrufen. Letzteres macht Dirk hier, wertet aber den Rückgabewert in a (= welchen Button hat der User gedrückt) gar nicht aus. Wenn du "a=" weglässt, müssen aber auch die Klammern um den MsgBox-Ausdruck weg: MsgBox "Die Datei " & s_file &" wurde zuletzt am " _ & FileLastModified(s_file)&" geändert", vbCritical + vbOkOnly, "Titel der msgbox" Gruß, Nils Zitieren Link zu diesem Kommentar
TruckerTom 10 Geschrieben 11. März 2009 Autor Melden Teilen Geschrieben 11. März 2009 Moin Nils, kennst Du das wenn es einem wie Schuppen von den Augen fällt? Wenn es so klick-klick-klick macht? Genau so ging es mir gerade eben :) Danke! Perfekt! Zitieren Link zu diesem Kommentar
d.stegemann 10 Geschrieben 11. März 2009 Melden Teilen Geschrieben 11. März 2009 Nils hat es wunderbar erklärt. Dem ist nichts mehr hinzuzufügen :) Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 12. März 2009 Melden Teilen Geschrieben 12. März 2009 Hallo, Mit einer exe tust du dir evtl. leichter. Der aufruf ist ganz einfach z.B. FileAge+.exe C:\temp\test.txt 1 wobei die 1 für das gestrige Datum steht, 2 für vorgestern etc. je nachdem bekommst du eine eine Meldung oder nicht gibts die angegebene Datei nicht, schreit er. Bei Fehleingaben läuft das Programm einfach durch. Hilfe etc. gibts keine. einfach ausprobieren. cu blub FileAge+.zip Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.