Datei von einem bestimmten Datentyp finden
-
Hallöchen,
ich habe ein Programm geschrieben in C, womit ich einen Ordner auslesen kann.
Ich arbeite da mit WIN32_FIND_DATA, jetz ist meine Frage, ob es eine Möglichkeit gibt nach einer Datei die gerade erstellt wurde ohne alle Orte zu durchforsten zu suchen.Also user erstellt ne Textdatei und startet dann sofort danach mein Programm, kann man dann irgendwie unter Windows das auslesen, welche Datei vor max 5 Sekunden erstellt wurde?
Und wenn nicht, wie kann man am einfachsten rekursiv nach dieser Datei "fanden" ?
Währe schön wenn ihr das etwas genauer erklären könnt, da ich nun nicht unbedingt C fest bin.
Vielen Dank
rendner
-
WIN32_FIND_DATA, aha. also haste bock, dich in die winapi einbzuarbeiten.
- kannst den indexdienst benutzen, wenn der user ihn an hat (aber kein programmierer sollte ihn an haben).
+ oder dateisystemjournale, die greifen natürlich super. das prog muss halt öfters mal gestartet werden.
+ oder klassisch mit WIN32_FIND_DATA.
- oder nen treiber absetzen, der dateisystemzugriffe überwacht.
++ oder change notifications schicken lassen, dein prog muss nur vorher schon laufen.
- oder dir c:\*.txt /S /O... machen und auswerten
viele wege führen von rom weg.
-
Danke!
Das hört sich ja schon einmal gut an, aber verstehen tue ich davon leider nix.
Könntest Du mir die Dinge die Du angedeutet hast und in frage kommen würden etwas genauer erklären?Ablauf:
Der user, speichert aus einer exe einen Cookie, der Pfad des Cookies ist aber auf jeden Rechner anderst.
Nachdem der Cookie gespeichert wird, wird anschliesend schon mein Programm gestartet.
Dies soll vom Ablauf auch so bleiben (also Programm läuft nicht im Hintergrund), es liest nur den Pfad aus dem Cookie aus und liest anschliesend das angegebene Verzeichnis aus, danach noch den gefundenen Inhalt speichern und fertig.EDIT:
Habe jetzt mal so gestöbert und mit getFileTime probiert, aber das geht auf meinem Rechner nicht(bekomme da immer 01.01.1601 und soweiter raus).
Das "dir c:\*.txt /S /O" ist ja schon super, aber brauche soetwas in meinem Programm (und dann auch nur die neueste Datei dieses Dateiformates...).
So langsam denke ich das ich nicht zum erfolg kommen werde.
Warum kann ich verdammt nochmal nicht das Erstellungsdatum der Dateien auslesen, wo mir doch Windows das immer anzeigt.
Oder könnte man in der regedit vielleicht die letzten 5 Dateien eines Dateiformates auslesen die als letztes angelegt wurden?rendner
-
Kann mir keiner noch irgendwelche Tipps geben?
Es ist ja nun nicht unbedingt so, das ich was komplett fertiges haben will (währe aber schön), ich möchte nur wissen mit welche Funktionen, Tricks, etc. ich an diese Information rankomme die ich benötige und dies von meinem Programm aus.
Habe leider nix richtiges gefunden, was mir da weiter hilft.Mit dem Dateisystemjournalen, währe schon ganz nett (soweit ich dies verstanden habe, ist das eigentlich zur Datensicherung), weis aber nicht wie ich auf soetwas zugreife.
Meine Programmierkenntnisse in C sind begrentzt, da ich kein Programmierer bin, also währe es schön wenn ihr noch kurze herangehensweise verfasst oder entsprechende Links postet.rendner