Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo,

ich habe folgendes Problem. Kann ich irgendwie eine eindeutige Nummer (oder sonst was) erzeugen/ermitteln, die mir eine Datei eindeutig identifiziert? Mein Problem ist, dass ich einen bestimmten Bereich auf der Platte überwachen möchte. Wichtig ist mir, dass ich auch z.B. nach dem Verschieben einer Datei von einem Verzeichnis A in B diese trotzdem über die ID identifizieren kann. Ideal wäre daher auch, wenn sich die ID nicht durch Änderungen/Umbennenen ändern würde. Der Name allein reicht mir leider nicht aus.

Hat jemand eine Idee??

Timo

Wäre ganz schön aufwendig und ausserdem abhängig vom Inhalt. D.h. änderungen im Inhalt = anderer Hashwert = Datei kann nicht mehr nachverfolgt werden....

Timo

Du willst eine Datei wiedererkennen, obwohl sich der Name, die Position im Dateisystem und der Inhalt geändert haben können? Da bleibt m.M.n nichts übrig, anhand dessen Du die Datei noch eindeutig identifizieren könntest.

Wie wärs mit einem selbstgestrickten Dateisystem?

Eben drum... Windows muss das doch intern auch machen. Und die Frage ist, kommt man an diese Info ran?!

Timo

Also, wenn ich meine Profs richtig verstanden hatte (damals), dann funktionieren "normale" Dateisysteme so. Unter Unix ist es ja ähnlich. Ob man Windows zu den "normalen" Systemen zählen sollte, das kann ich nicht sagen ;)

Mit GetFileInformationByHandle bekommt man Zugriff auf eine BY_HANDLE_FILE_INFORMATION-Struktur. Inwieweit die Struktur gefüllt werden kann, hängt vom Dateisystem ab.

Diese Struktur hat mit nFileIndexLow und nFileIndexHigh einen 64Bit-Wert, der die Datei eindeutig identifiziert. Ich kann aber nicht sagen, ob dieser Wert sich nicht ändert, wenn man die Datei umbenennt/ändert/verschiebt. Käme auf einen Versuch an.

Ich würde mal vermuten, dass sich der Wert ändern, sobald man die Datei "anfasst" (also verschiebt oder kopiert). Laut http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fileref_18j6.asp kann man diese beiden Eintraege verwenden, um zu ermitteln ob eine Anwendung ein und dieselbe Datei mehrmals geöffnet hat. Wenn die Dateien aber an unterschiedlichen Stellen im Filesystem liegen sind sie in diesem Sinne nicht mehr identisch.

Nic

Fast...

ich habs gerade mal getestet. Die Nummer für eine Datei ermittelt. Datei umbenannt, verschoben = Nummer bleibt immer gleich. Allerdings verändert sie sich, wenn man die Datei verändert. Schade, schade...

Timo

Bin gerade am überlegen eine Datei anhand des Erstellungsdatums zu identifizieren. Laut Doku. sind das die Millisekunden seit 19xx. Mit einer Auflösung von 10 Millisekunden. Da sollten sich Dateien nicht die selbe Erzeugungszeiten haben :confused:

Was haltet ihr davon, spricht da was dagegen??

Mich würde mal interessieren, wofür genau Du diese Eigenschaft benötigst. Üblicherweise ist es ja von Interesse, wenn die Datei (inhaltlich) manipuliert wurde. Du scheinst aber nach einer Möglichkeit zu suchen, eine Datei die irgendwann mal erstellt wurde (unabhängig von Veränderungen) wieder identifizieren zu können.

Nic

Genau,

ich hab das Problem, das ich zu einer Datei zusatzinformationen in einer/mehreren extra Datei(en) ablegen möchte, die ich immer der entsprechenden Datei zuordner können möchte. Allerdings kann es eben vorkommen, das die datei verschoben, umbenannt usw. wird. Der Inhalt interessiert mich quasi überhaupt nicht...

Timo

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.