Prüfen ob Datei existiert?



  • Jochen Kalmbach schrieb:

    Gästchen schrieb:

    MSDN schrieb:

    Determines whether a path ... is valid.

    Von welchem Doku-Bug redet Ihr?

    Von dem fetten....

    Die Erklärung, was mit "path to a file system object" gemeint ist, folgt dem doch (a file or a directory). Man muss die Erklärung nur Lesen und nicht mitten im Satz aufhören. 😉



  • Ist Ansichtssache... ich lese trotzdem immer nur von einem *Pfad* und nicht davon, dass nach dem ganzen Objekt gesucht wird!



  • Jochen Kalmbach schrieb:

    Du musst ein wenig warten, bis sich diese Änderungen zeigen 😉 NTFS hat hier ein "gewissen" Delay! Starte mal den Rechner neu, dann siehst Du die Änderung.

    PS: Das wäre ja fürchterlich, wenn sich ein Öffnen nicht auswirken würde. Dann wäre ja der Zeitstempel total sinnlos.

    Oder Du hast Vista 😉
    Siehe:
    http://computer-forensik.org/2007/11/19/ntfs-lastaccessupdate-unter-vista/



  • Das wäre eine Erklärung. In 10min ist die Stunde abgelaufen, dann wissen wir mehr. 😉



  • Du hast aber *kein* Vista bzw. das Feature ist bei Dir auch aktiviert? (Standard bis Vista).



  • Vista und deaktiviert. Hab's jetzt mal aktiviert, Test muss aber bis morgen früh warten.



  • Jochen Kalmbach schrieb:

    Ist Ansichtssache... ich lese trotzdem immer nur von einem *Pfad* und nicht davon, dass nach dem ganzen Objekt gesucht wird!

    Zu dem Objekt führt ein Pfad (oder mehrere - Hardlinks etc.)
    Dieser Pfad enthält selbstverständlich auch den Dateinamen.

    Die Doku ist IMO unklar und vielleicht irreführend, aber nicht wirklich falsch. Ändern sollten sie die Beschreibung wahrscheinlich trotzdem.



  • Also bei NtfsDisableLastAccessUpdate=0 wird auch unter Vista der Zeitstempel für die letzte Änderung beim Öffnen einer Datei sofort aktualisiert.



  • Die meisten Anwender/Programmierer/Programme dürfte es doch wohl kaum jucken, wann jemand zuletzt ne Datei geöffnet hat?

    Davon mal abgesehen ist für diesen Zweck GetFileAttributes wohl doch am besten, ne.

    MfG,
    E.



  • Blaze schrieb:

    Noch schneller geht das über "Datei-Attribute":

    BOOL FileExists(const std::string & StrFilename)
    {
    	//Schneller: nur Dateiinformationen lesen
    	return( (GetFileAttributes(StrFilename.c_str()) == INVALID_FILE_ATTRIBUTES)
    			? FALSE  //lesen nicht möglich -> Datei existiert nicht!
    			: TRUE); //die Datei existiert
    }
    

    Aber mal im Ernst, auf Probeöffnen müsstest du doch mindestens gekommen sein 😉

    ich hab das von blaze in meinem code übernommen und bin damit sehr zufriden ...die 4000 dateien checkt er in knapp 3 sec durch und gut is

    lg karma


Anmelden zum Antworten