Hab mal in die Hilfe für die Funktion geschaut.... da bin ich ehrlich doch etwas mit überfordert, zumal die Hilfe für diese Funktion hier leider nur in Englisch zur Verfügung steht
Ok, das ist eine ehrliche Aussage.
Mit dieser Funktion kannst du dich von Windows benachrichtigen lassen, wenn sich etwas an oder in den zu überwachenden Verzeichnissen geändert hat.
Das hat den riesigen Vorteil, dass sich dadurch die Dateizugriffe in deinem Script drastisch reduzieren lassen.
Sage mir doch einfach mal, was du gerne an Änderungen überwachen würdest und ich schreibe dir dazu die passende Funktion.
Welches Verzeichnis (können auch mehrere sein) willst du überwachen (inkl. Unterverzeichnisse? (rekursiv)) und welche Dateien (oder Muster, z.B. *.txt oder Rechnung.*) sollen darin gemeldet werden, wenn sich was geändert hat?
Hier eine Liste aller Ereignisse, über die du benachrichtigt werden kannst... die für dich ganz sicher nicht relevanten habe ich mit einem * markiert - welche brauchst du davon?
$SHCNE_ALLEVENTS * Alle Ereignisse sind aufgetreten.
$SHCNE_ASSOCCHANGED Eine Dateitypzuordnung hat sich geändert.
$SHCNE_ATTRIBUTES Die Attribute eines Elements oder Ordners haben sich geändert.
$SHCNE_CREATE Es wurde ein Nicht-Ordnerelement erstellt.
$SHCNE_DELETE Ein Nicht-Ordnerelement wurde gelöscht.
$SHCNE_DRIVEADD Ein Laufwerk wurde hinzugefügt.
$SHCNE_DRIVEADDGUI * Windows XP und höher: Wird nicht verwendet.
$SHCNE_DRIVEREMOVED Ein Laufwerk wurde entfernt.
$SHCNE_EXTENDED_EVENT * Derzeit nicht verwendet
$SHCNE_FREESPACE Der freie Speicherplatz auf einem Laufwerk hat sich geändert.
$SHCNE_MEDIAINSERTED Speichermedium wurde in ein Laufwerk eingelegt.
$SHCNE_MEDIAREMOVED Speichermedien wurden aus einem Laufwerk entfernt.
$SHCNE_MKDIR Ein Ordner wurde erstellt.
$SHCNE_NETSHARE Ein Ordner auf dem lokalen Computer wird über das Netzwerk freigegeben.
$SHCNE_NETUNSHARE Ein Ordner auf dem lokalen Computer wird nicht mehr über das Netzwerk freigegeben.
$SHCNE_RENAMEFOLDER Der Name eines Ordners hat sich geändert.
$SHCNE_RENAMEITEM Der Name eines Nicht-Ordnerelements wurde geändert.
$SHCNE_RMDIR Ein Ordner wurde entfernt.
$SHCNE_SERVERDISCONNECT Der Computer hat die Verbindung zu einem Server getrennt.
$SHCNE_UPDATEDIR Der Inhalt eines vorhandenen Ordners hat sich geändert, der Ordner ist jedoch noch vorhanden und wurde nicht umbenannt.
$SHCNE_UPDATEIMAGE Ein Bild in der Systemabbildliste wurde geändert.
$SHCNE_UPDATEITEM Ein vorhandenes Element (ein Ordner oder ein Nichtordner) hat sich geändert, das Element ist jedoch noch vorhanden und wurde nicht umbenannt.
$SHCNE_DISKEVENTS * Gibt eine Kombination aller Plattenereignis-IDs an.
$SHCNE_GLOBALEVENTS * Gibt eine Kombination aller globalen Ereignisbezeichner an.
$SHCNE_INTERRUPT * Das angegebene Ereignis ist infolge eines Systeminterrupts aufgetreten. Da dieser Wert andere Ereigniswerte ändert, kann er nicht alleine verwendet werden.
Alles anzeigen