Aufgabe

Stamp setzt das Erzeugungs- und Änderungsdatum von Dateien auf ein gewünschtes Datum. Stamp ist als Shell-Extension realisiert und wird vom Microsoft-Explorer in den Eigenschaftenseiten für Verzeichnisse und Dateien bereitgestellt.

Installation

Die Shell-Extension besteht aus der Datei „StampExt.dll“ und kann in ein beliebiges Verzeichnis abgelegt werden, z.B.

c:\windows\system32\ShellExt\StampExt\

Damit der Microsoft-Explorer die Shell-Extension anbietet, wird eine Registrierung von „StampExt.dll“ erforderlich. Die Registrierung erfolgt über die DOS-Konsole mit dem Programm „RegSvr32.exe“.

regsvr32.exe c:\windows\system32\ShellExt\StampExt\stampext.dll

Die Registrierung kann mit dem folgenden Befehl wieder rückgängig gemacht werden.

regsvr32.exe -u c:\windows\system32\ShellExt\StampExt\stampext.dll

Registry

Mit der Registrierung werden nachfolgende Einträge in der Registry-Datenbank angelegt. Diese Einträge können mit dem Programm „RegEdit.exe“ angezeigt werden. Da man mit diesem Programm Einträge auch ändern und löschen kann, sollte man hier etwas vorsichtig umgehen.

Folgende Einträge registrieren die Shell-Extension.

     Pfad: HKEY_CLASSES_ROOT\StampExt.ShellExtension\
  Eintrag: (Standard) = StampExt.ShellExtension
     Pfad: HKEY_CLASSES_ROOT\StampExt.ShellExtension\CLSID\
  Eintrag: (Standard) = {F2104D53-8150-474B-B611-CD4D43341C5F}
     Pfad: HKEY_CLASSES_ROOT\CLSID\{F2104D53-8150-474B-B611-CD4D43341C5F}\
  Eintrag: (Standard) = StampExt.ShellExtension
     Pfad: HKEY_CLASSES_ROOT\CLSID\{F2104D53-8150-474B-B611-CD4D43341C5F}\InProcServer32\
  Eintrag: (Standard) = c:\windows\system32\ShellExt\StampExt\stampext.dll
  Eintrag: ThreadingModel = Apartment
     Pfad: HKEY_CLASSES_ROOT\CLSID\{F2104D53-8150-474B-B611-CD4D43341C5F}\ProgID\
  Eintrag: (Standard) = StampExt.ShellExtension
     Pfad: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved\
Schlüssel: StampExt.ShellExtension = {F2104D53-8150-474b-B611-CD4D43341C5F}

Durch die folgenden Einträge wird die Shell-Extension für alle Dateitypen bereitgestellt.

     Pfad: HKEY_CLASSES_ROOT\*\shellex\PropertySheetHandlers\StampExt.ShellExtension\
  Eintrag: (Standard) = {F2104D53-8150-474b-B611-CD4D43341C5F}

Durch die folgenden Einträge wird die Shell-Extension für Verzeichnisse bereitgestellt.

     Pfad: HKEY_CLASSES_ROOT\Directory\shellex\PropertySheetHandlers\StampExt.ShellExtension\
  Eintrag: (Standard) = {F2104D53-8150-474b-B611-CD4D43341C5F}

In der Registry-Datenbank werden die Einstellungen der Eigenschaftenseite beim Schließen gespeichert. Beim Öffnen werden die Einstellungen der Eigenschaftenseite über diese Einträge wieder vorbelegt.

Mit dem Eintrag „SupportedFileFlags“ wird bestimmt welche Attribute Dateien und Verzeichnisse nur besitzen dürfen, damit sie bearbeitet werden können. Mit der Registrierung wird folgende Konfiguration vorgegeben.

ATTRIBUTE_READONLY            0x00000001 Ja/Nein   Schreibgeschützte Dateien/Verzeichnisse
ATTRIBUTE_HIDDEN 0x00000002 Nein Versteckte Dateien/Verzeichnisse
ATTRIBUTE_SYSTEM 0x00000004 Nein System- Dateien/Verzeichnisse
0x00000008 Nein unbenutzt
ATTRIBUTE_DIRECTORY 0x00000010 Ja Verzeichnis
ATTRIBUTE_ARCHIVE 0x00000020 Ja Kennung für Archivierung
ATTRIBUTE_ENCRYPTED 0x00000040 Nein Verschlüsselte Dateien
ATTRIBUTE_NORMAL 0x00000080 Ja Normal (keine andere Kennung gesetzt)
ATTRIBUTE_TEMPORARY 0x00000100 Nein Temporäre Dateien
ATTRIBUTE_SPARSE_FILE 0x00000200 Nein ???
ATTRIBUTE_REPARSE_POINT 0x00000400 Nein ???
ATTRIBUTE_COMPRESSED 0x00000800 Ja Komprimierte Dateien/Verzeichnisse
ATTRIBUTE_OFFLINE 0x00001000 Nein ???
ATTRIBUTE_NOT_CONTENT_INDEXED 0x00002000 Nein Indizierte Dateien (für Explorer->Suchen…)

Pfad: HKEY_CLASSES_ROOT\CLSID{F2104D53-8150-474B-B611-CD4D43341C5F}\Settings\
Eintrag: SupportedFileFlags = 0x000008b1 (2225)
Eintrag: OptFileDateChg = 0x00000001 (1)
Eintrag: OptFileDateCrea = 0x00000001 (1)
Eintrag: OptReadOnly = 0x00000001 (1)
Eintrag: OptAsk = 0x00000001 (1)
Eintrag: OptSubDir = 0x00000001 (1)
Eintrag: OptLogFile = 0x00000001 (1)

Anwendung

Nach der Registrierung sollte sich Stamp im Eigenschaften-Dialog für Dateien und Verzeichnisse zeigen.

Mit der Optionsschaltfläche „Erstellungsdatum setzen“ wird durch Abwahl das Setzen des Erstellungsdatums von Dateien unterbunden. Bei Anwahl wird das Erstellungsdatum von Dateien durch das hier angegebene Datum ersetzt.

Mit der Optionsschaltfläche „Änderungsdatum setzen“ wird durch Abwahl das Setzen des Änderungsdatums von Dateien unterbunden. Bei Anwahl wird das Änderungsdatum von Dateien durch das hier angegebene Datum ersetzt.

Mit der Optionsschaltfläche „Schreibgeschützt“ wird durch Abwahl Dateien und Verzeichnisse, die einen Schreibschutz haben, von der Bearbeitung ausgeschlossen. Bei Anwahl kann noch bestimmt werden, ob eine Rückfrage erfolgen soll, die mit „Ja“ oder „Nein“ beantwortet werden muss.

Mit der Optionsschaltfläche „Unterverzeichnisse“ wird durch Abwahl die Bearbeitung von Unterverzeichnisse unterbunden.

Mit Betätigen der Schaltfläche „Ausführen“ werden an den Dateien die Datumsänderungen vorgenommen.

Mit der Optionsschaltfläche „Loggen“ werden bei Anwahl die Aktionen in eine Textdatei „StampExt.Log“ mitgeschrieben. Die Datei befindet sich dann im Installationsverzeichnis von „StampExt.dll“.

Mit der Schaltfläche „Löschen“ wird die Logger-Datei gelöscht.

Mit der Schaltfläche „Anzeigen“ wird die Logger-Datei in einem Texteditor angezeigt.

Download

Die Datei „StampExt.dll“ benötigt die Datei „MFC42.DLL“, die nicht unbedingt auf jedem System vorhanden ist. In den meisten Fällen wurde diese Datei durch andere Programmpakete bereits installiert.

Auf der Web-Site von Microsoft wird diese Datei über ein Installations-Paket mit redistributierbaren Dateien zum Download angeboten (VC6RedistSetup_deu.exe). Sollte dieser Link nicht mehr aktuell sein, hilft eine Suche im Download-Bereich mit dem Suchbegriff „Redist“, Betriebsystem „Windows NT“ und „Zeige alle verfügbare Downloads“.

Wenn die erforderlichen Dateien installiert sind, sollte Stamp unter Windows NT/XP funktionieren.

Und hier ist Stamp als Datei „StampExt.dll“ (45056 Bytes, Version 1.0.0.5)

Weitere Dateien: VC6RedistSetup_deu.exe