DirExists hinzugefügt, Version nun 4.x
This commit is contained in:
parent
b61fec2d47
commit
0fdae52600
1
.gitignore
vendored
1
.gitignore
vendored
@ -1 +1,2 @@
|
|||||||
*.bak
|
*.bak
|
||||||
|
Zabbix-FileAndFolder_V3.zip
|
||||||
|
BIN
Zabbix-FileAndFolder.zip
Normal file
BIN
Zabbix-FileAndFolder.zip
Normal file
Binary file not shown.
6
Zabbix-FileAndFolder/Anleitung.URL
Normal file
6
Zabbix-FileAndFolder/Anleitung.URL
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
[InternetShortcut]
|
||||||
|
URL=http://znil.net/index.php?title=Zabbix:Template_Windows_Dateien_und_Ordner
|
||||||
|
IDList=
|
||||||
|
HotKey=0
|
||||||
|
IconFile=C:\Users\Linz\AppData\Local\Mozilla\Firefox\Profiles\fw0s4uyj.default\shortcutCache\5CEXl+HuhCF7P6PkaW5fFA==.ico
|
||||||
|
IconIndex=0
|
BIN
Zabbix-FileAndFolder/fileandfolder.exe
Normal file
BIN
Zabbix-FileAndFolder/fileandfolder.exe
Normal file
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,734 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<zabbix_export>
|
||||||
|
<version>4.4</version>
|
||||||
|
<date>2020-04-30T09:44:38Z</date>
|
||||||
|
<groups>
|
||||||
|
<group>
|
||||||
|
<name>Templates</name>
|
||||||
|
</group>
|
||||||
|
<group>
|
||||||
|
<name>Templates DATAGROUP</name>
|
||||||
|
</group>
|
||||||
|
</groups>
|
||||||
|
<templates>
|
||||||
|
<template>
|
||||||
|
<template>znil Template Dateien und Ordner BEISPIELE V2020-04-28</template>
|
||||||
|
<name>znil Template Dateien und Ordner BEISPIELE V2020-04-28</name>
|
||||||
|
<groups>
|
||||||
|
<group>
|
||||||
|
<name>Templates</name>
|
||||||
|
</group>
|
||||||
|
<group>
|
||||||
|
<name>Templates DATAGROUP</name>
|
||||||
|
</group>
|
||||||
|
</groups>
|
||||||
|
<applications>
|
||||||
|
<application>
|
||||||
|
<name>Dateien und Ordner Pruefungen</name>
|
||||||
|
</application>
|
||||||
|
</applications>
|
||||||
|
<items>
|
||||||
|
<item>
|
||||||
|
<name>Datei - Prüfsumme bilden (andere Methode, Zahl)</name>
|
||||||
|
<type>ZABBIX_ACTIVE</type>
|
||||||
|
<key>vfs.file.cksum[C:/Program Files/Zabbix/zabbix_agentd.win.conf]</key>
|
||||||
|
<delay>300</delay>
|
||||||
|
<history>30d</history>
|
||||||
|
<description>Erstellt eine Prüfsumme einer Datei. Ändert sich diese Prüfsumme so hat sich auch die Datei verändert.
|
||||||
|
|
||||||
|
Es kommt eine Zahl zurück. Die Größe der Zahl sagt aber nichts über die Veränderung aus.</description>
|
||||||
|
<applications>
|
||||||
|
<application>
|
||||||
|
<name>Dateien und Ordner Pruefungen</name>
|
||||||
|
</application>
|
||||||
|
</applications>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<name>Datei - Inhalt auslesen (max. 64KByte)</name>
|
||||||
|
<type>ZABBIX_ACTIVE</type>
|
||||||
|
<key>vfs.file.contents[C:/Program Files/Zabbix/zabbix_agentd.win.conf]</key>
|
||||||
|
<delay>300</delay>
|
||||||
|
<history>30d</history>
|
||||||
|
<trends>0</trends>
|
||||||
|
<value_type>TEXT</value_type>
|
||||||
|
<description>Liest den Dateiinhalt ein bis maximal 64KByte.
|
||||||
|
Enthält die Datei nichts oder nur Zeilenende-Zecihen wird ein leerer String zurück gegeben.
|
||||||
|
|
||||||
|
Wert wird als Text zurück gegeben</description>
|
||||||
|
<applications>
|
||||||
|
<application>
|
||||||
|
<name>Dateien und Ordner Pruefungen</name>
|
||||||
|
</application>
|
||||||
|
</applications>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<name>Datei - existiert eine bestimmte Datei? 1 = Ja, 0 = Nein</name>
|
||||||
|
<type>ZABBIX_ACTIVE</type>
|
||||||
|
<key>vfs.file.exists[C:/Program Files/Zabbix/zabbix_agentd.win.conf]</key>
|
||||||
|
<delay>300</delay>
|
||||||
|
<history>30d</history>
|
||||||
|
<description>prüft ob eine bestimmte Datei vorhanden ist.
|
||||||
|
1 = Ja
|
||||||
|
0 = Nein</description>
|
||||||
|
<applications>
|
||||||
|
<application>
|
||||||
|
<name>Dateien und Ordner Pruefungen</name>
|
||||||
|
</application>
|
||||||
|
</applications>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<name>Datei - Prüfsumme bilden MD5</name>
|
||||||
|
<type>ZABBIX_ACTIVE</type>
|
||||||
|
<key>vfs.file.md5sum[C:/Program Files/Zabbix/zabbix_agentd.win.conf]</key>
|
||||||
|
<delay>300</delay>
|
||||||
|
<history>30d</history>
|
||||||
|
<trends>0</trends>
|
||||||
|
<value_type>CHAR</value_type>
|
||||||
|
<description>Erstellt einen MD5 Hashwert einer Datei. Ändert sich dieser Hashwert so hat sich auch die Datei verändert.
|
||||||
|
|
||||||
|
Es kommt eine Buchstaben und Zahlkombination zurück.</description>
|
||||||
|
<applications>
|
||||||
|
<application>
|
||||||
|
<name>Dateien und Ordner Pruefungen</name>
|
||||||
|
</application>
|
||||||
|
</applications>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<name>Datei - Text in Datei finden und Zeile zurückgeben</name>
|
||||||
|
<type>ZABBIX_ACTIVE</type>
|
||||||
|
<key>vfs.file.regexp[C:/Program Files/Zabbix/zabbix_agentd.win.conf,"DebugLevel"]</key>
|
||||||
|
<delay>300</delay>
|
||||||
|
<history>30d</history>
|
||||||
|
<trends>0</trends>
|
||||||
|
<value_type>TEXT</value_type>
|
||||||
|
<description>Findet Text in einer Datei. In diesem Beispiel wird nach der Zeile mit dem Wort "DebugLevel" gesucht.
|
||||||
|
|
||||||
|
Suchwert ist ein Regulärer Ausdruck
|
||||||
|
|
||||||
|
Rückgabewert ist die gesamte Zeile als Text</description>
|
||||||
|
<applications>
|
||||||
|
<application>
|
||||||
|
<name>Dateien und Ordner Pruefungen</name>
|
||||||
|
</application>
|
||||||
|
</applications>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<name>Datei - Text in Datei finden (Rückgabe: 1 = gefunden oder 0 = nicht gefunden)</name>
|
||||||
|
<type>ZABBIX_ACTIVE</type>
|
||||||
|
<key>vfs.file.regmatch[C:/Program Files/Zabbix/zabbix_agentd.win.conf,"DebugLevel"]</key>
|
||||||
|
<delay>300</delay>
|
||||||
|
<history>30d</history>
|
||||||
|
<description>Findet Text in einer Datei. In diesem Beispiel wird nach dem Wort "DebugLevel" gesucht.
|
||||||
|
|
||||||
|
Suchwert ist ein Regulärer Ausdruck
|
||||||
|
|
||||||
|
Rückgabewert ist 1 für gefunden oder 0 für nicht gefunden</description>
|
||||||
|
<applications>
|
||||||
|
<application>
|
||||||
|
<name>Dateien und Ordner Pruefungen</name>
|
||||||
|
</application>
|
||||||
|
</applications>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<name>Datei - Größe in Bytes</name>
|
||||||
|
<type>ZABBIX_ACTIVE</type>
|
||||||
|
<key>vfs.file.size[C:/Program Files/Zabbix/zabbix_agentd.win.conf]</key>
|
||||||
|
<delay>300</delay>
|
||||||
|
<history>30d</history>
|
||||||
|
<units>b</units>
|
||||||
|
<description>Gibt die Größe einer Datei in Bytes zurück.</description>
|
||||||
|
<applications>
|
||||||
|
<application>
|
||||||
|
<name>Dateien und Ordner Pruefungen</name>
|
||||||
|
</application>
|
||||||
|
</applications>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<name>Datei - Zeitpunkt letzter Änderung</name>
|
||||||
|
<type>ZABBIX_ACTIVE</type>
|
||||||
|
<key>vfs.file.time[C:/Program Files/Zabbix/zabbix_agentd.win.conf,modify]</key>
|
||||||
|
<delay>300</delay>
|
||||||
|
<history>30d</history>
|
||||||
|
<units>unixtime</units>
|
||||||
|
<description>Gibt die Zeitpunkt der letzten Änderung im UNIX-Timestamp-Format zurück. Also in vergangene Sekunden seit dem 01.01.1970 00:00:00 Uhr</description>
|
||||||
|
<applications>
|
||||||
|
<application>
|
||||||
|
<name>Dateien und Ordner Pruefungen</name>
|
||||||
|
</application>
|
||||||
|
</applications>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<name>Verzeichnis - Zeitpunkt seit letzter Änderung in Sekunden</name>
|
||||||
|
<type>ZABBIX_ACTIVE</type>
|
||||||
|
<key>vfs.file.time[C:/Windows,modify]</key>
|
||||||
|
<delay>300</delay>
|
||||||
|
<history>30d</history>
|
||||||
|
<units>unixtime</units>
|
||||||
|
<description>Gibt die Zeitpunkt der letzten Änderung im UNIX-Timestamp-Format zurück. Also in vergangene Sekunden seit dem 01.01.1970 00:00:00 Uhr</description>
|
||||||
|
<applications>
|
||||||
|
<application>
|
||||||
|
<name>Dateien und Ordner Pruefungen</name>
|
||||||
|
</application>
|
||||||
|
</applications>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<name>Datei - Zeitpunkt letzter Zugriff</name>
|
||||||
|
<type>ZABBIX_ACTIVE</type>
|
||||||
|
<key>vfs.file.time[C:\Program Files\Zabbix\zabbix_agentd.win.conf,access]</key>
|
||||||
|
<delay>300</delay>
|
||||||
|
<history>30d</history>
|
||||||
|
<units>unixtime</units>
|
||||||
|
<description>Gibt die Zeitpunkt des letzten Zugriffs im UNIX-Timestamp-Format zurück. Also in vergangene Sekunden seit dem 01.01.1970 00:00:00 Uhr
|
||||||
|
|
||||||
|
Die Aktualisierung des letzten Zugriffs ist ggf. im Betriebsystem deaktiviert</description>
|
||||||
|
<applications>
|
||||||
|
<application>
|
||||||
|
<name>Dateien und Ordner Pruefungen</name>
|
||||||
|
</application>
|
||||||
|
</applications>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<name>Datei - Zeitpunkt der Erstellung</name>
|
||||||
|
<type>ZABBIX_ACTIVE</type>
|
||||||
|
<key>vfs.file.time[C:\Program Files\Zabbix\zabbix_agentd.win.conf,change]</key>
|
||||||
|
<delay>300</delay>
|
||||||
|
<history>30d</history>
|
||||||
|
<units>unixtime</units>
|
||||||
|
<description>Gibt die Zeitpunkt der Erstellung im UNIX-Timestamp-Format zurück. Also in vergangene Sekunden seit dem 01.01.1970 00:00:00 Uhr
|
||||||
|
|
||||||
|
Die Aktualisierung des letzten Zugriffs ist ggf. im Betriebsystem deaktiviert</description>
|
||||||
|
<applications>
|
||||||
|
<application>
|
||||||
|
<name>Dateien und Ordner Pruefungen</name>
|
||||||
|
</application>
|
||||||
|
</applications>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<name>Verzeichnis - Zeitpunkt der Erstellung</name>
|
||||||
|
<type>ZABBIX_ACTIVE</type>
|
||||||
|
<key>vfs.file.time[C:\Windows,change]</key>
|
||||||
|
<delay>300</delay>
|
||||||
|
<history>30d</history>
|
||||||
|
<units>unixtime</units>
|
||||||
|
<description>Gibt die Zeitpunkt der Erstellung im UNIX-Timestamp-Format zurück. Also in vergangene Sekunden seit dem 01.01.1970 00:00:00 Uhr
|
||||||
|
|
||||||
|
Die Aktualisierung des letzten Zugriffs ist ggf. im Betriebsystem deaktiviert</description>
|
||||||
|
<applications>
|
||||||
|
<application>
|
||||||
|
<name>Dateien und Ordner Pruefungen</name>
|
||||||
|
</application>
|
||||||
|
</applications>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<name>Verzeichnis - Zeitpunkt letzter Änderung</name>
|
||||||
|
<type>ZABBIX_ACTIVE</type>
|
||||||
|
<key>vfs.file.time[C:\Windows,modify]</key>
|
||||||
|
<delay>300</delay>
|
||||||
|
<history>30d</history>
|
||||||
|
<units>unixtime</units>
|
||||||
|
<description>Gibt die Zeitpunkt der letzten Änderung im UNIX-Timestamp-Format zurück. Also in vergangene Sekunden seit dem 01.01.1970 00:00:00 Uhr</description>
|
||||||
|
<applications>
|
||||||
|
<application>
|
||||||
|
<name>Dateien und Ordner Pruefungen</name>
|
||||||
|
</application>
|
||||||
|
</applications>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<name>Verzeichnis - Anzahl von *.txt Dateien die jünger <= 24h sind in einen Verzeichnis (Erstellungsdatum)</name>
|
||||||
|
<type>ZABBIX_ACTIVE</type>
|
||||||
|
<key>znil.fileandfolder[#FileCountAge=86400,C:/Windows/System32,"*.txt"]</key>
|
||||||
|
<delay>300</delay>
|
||||||
|
<history>30d</history>
|
||||||
|
<description>Gibt die Anzahl von Dateien in einem Ordner wieder.
|
||||||
|
- ohne Ordner
|
||||||
|
- ohne Dateien in Unterordnern
|
||||||
|
- die jünger sind als FileCountAge=86400
|
||||||
|
- die dem Suchmuster *.txt entsprechen
|
||||||
|
Angabe ist in Sekunden
|
||||||
|
|
||||||
|
Vergleich ist größer/gleich >=
|
||||||
|
|
||||||
|
Rückgabewert ist eine Zahl!
|
||||||
|
|
||||||
|
ACHTUNG: Beim Pfad müssen / statt \ verwendet werden!!!!
|
||||||
|
|
||||||
|
Benötigt fileandfolder.exe als UserParameter in der Zabbix-Agenten Konfigurationsdatei</description>
|
||||||
|
<applications>
|
||||||
|
<application>
|
||||||
|
<name>Dateien und Ordner Pruefungen</name>
|
||||||
|
</application>
|
||||||
|
</applications>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<name>Verzeichnis - Anzahl von Dateien die jünger <= 24h sind in einen Verzeichnis (Erstellungsdatum)</name>
|
||||||
|
<type>ZABBIX_ACTIVE</type>
|
||||||
|
<key>znil.fileandfolder[#FileCountAge=86400,C:/Windows/System32]</key>
|
||||||
|
<delay>300</delay>
|
||||||
|
<history>30d</history>
|
||||||
|
<description>Gibt die Anzahl von Dateien in einem Ordner wieder.
|
||||||
|
- ohne Ordner
|
||||||
|
- ohne Dateien in Unterordnern
|
||||||
|
- die jünger sind als FileCountAge=86400
|
||||||
|
Angabe ist in Sekunden
|
||||||
|
|
||||||
|
Vergleich ist kleiner/gleich >=
|
||||||
|
|
||||||
|
Rückgabewert ist eine Zahl!
|
||||||
|
|
||||||
|
ACHTUNG: Beim Pfad müssen / statt \ verwendet werden!!!!
|
||||||
|
|
||||||
|
Benötigt fileandfolder.exe als UserParameter in der Zabbix-Agenten Konfigurationsdatei</description>
|
||||||
|
<applications>
|
||||||
|
<application>
|
||||||
|
<name>Dateien und Ordner Pruefungen</name>
|
||||||
|
</application>
|
||||||
|
</applications>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<name>Verzeichnis - Anzahl von DLL Dateien <= 1MB in einen Verzeichnis</name>
|
||||||
|
<type>ZABBIX_ACTIVE</type>
|
||||||
|
<key>znil.fileandfolder[#FileCountSize=1048576,C:/Windows/System32,"*.dll"]</key>
|
||||||
|
<delay>300</delay>
|
||||||
|
<history>30d</history>
|
||||||
|
<description>Gibt die Anzahl von Dateien in einem Ordner wieder.
|
||||||
|
- ohne Ordner
|
||||||
|
- ohne Dateien in Unterordnern
|
||||||
|
- die kleiner sind als #FileCountSize=1048576
|
||||||
|
- die der Suchmaske *.dll entsprechen
|
||||||
|
Angabe ist in Bytes!
|
||||||
|
|
||||||
|
Vergleich ist kleiner/gleich >=
|
||||||
|
|
||||||
|
Rückgabewert ist eine Zahl!
|
||||||
|
|
||||||
|
ACHTUNG: Beim Pfad müssen / statt \ verwendet werden!!!!
|
||||||
|
|
||||||
|
Benötigt fileandfolder.exe als UserParameter in der Zabbix-Agenten Konfigurationsdatei</description>
|
||||||
|
<applications>
|
||||||
|
<application>
|
||||||
|
<name>Dateien und Ordner Pruefungen</name>
|
||||||
|
</application>
|
||||||
|
</applications>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<name>Verzeichnis - Anzahl von Dateien <= 1MB in einen Verzeichnis</name>
|
||||||
|
<type>ZABBIX_ACTIVE</type>
|
||||||
|
<key>znil.fileandfolder[#FileCountSize=1048576,C:/Windows/System32]</key>
|
||||||
|
<delay>300</delay>
|
||||||
|
<history>30d</history>
|
||||||
|
<description>Gibt die Anzahl von Dateien in einem Ordner wieder.
|
||||||
|
- ohne Ordner
|
||||||
|
- ohne Dateien in Unterordnern
|
||||||
|
- die kleiner sind als #FileCountSize=1048576
|
||||||
|
Angabe ist in Bytes!
|
||||||
|
|
||||||
|
Vergleich ist kleiner/gleich >=
|
||||||
|
|
||||||
|
Rückgabewert ist eine Zahl!
|
||||||
|
|
||||||
|
ACHTUNG: Beim Pfad müssen / statt \ verwendet werden!!!!
|
||||||
|
|
||||||
|
Benötigt fileandfolder.exe als UserParameter in der Zabbix-Agenten Konfigurationsdatei</description>
|
||||||
|
<applications>
|
||||||
|
<application>
|
||||||
|
<name>Dateien und Ordner Pruefungen</name>
|
||||||
|
</application>
|
||||||
|
</applications>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<name>Verzeichnis - existiert ein bestimmtes Verzeichnis? 1 = Ja, 0 = Nein</name>
|
||||||
|
<type>ZABBIX_ACTIVE</type>
|
||||||
|
<key>znil.fileandfolder[DirExists,C:/Windows]</key>
|
||||||
|
<delay>300</delay>
|
||||||
|
<history>30d</history>
|
||||||
|
<description>prüft ob eine bestimmtes Verzeichnis vorhanden ist.
|
||||||
|
1 = Ja
|
||||||
|
0 = Nein</description>
|
||||||
|
<applications>
|
||||||
|
<application>
|
||||||
|
<name>Dateien und Ordner Pruefungen</name>
|
||||||
|
</application>
|
||||||
|
</applications>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<name>Verzeichnis - Größe eines Verzeichnisses inklusive Unterordner</name>
|
||||||
|
<type>ZABBIX_ACTIVE</type>
|
||||||
|
<key>znil.fileandfolder[DirGetSize,C:/Windows/System32]</key>
|
||||||
|
<delay>300</delay>
|
||||||
|
<history>30d</history>
|
||||||
|
<units>B</units>
|
||||||
|
<description>Gibt die Größe eines Ordners in Bytes zurück
|
||||||
|
- inklusive aller Unterordner und Dateien
|
||||||
|
|
||||||
|
Rückgabewert ist eine Zahl!
|
||||||
|
|
||||||
|
ACHTUNG: Beim Pfad müssen / statt \ verwendet werden!!!!
|
||||||
|
|
||||||
|
Benötigt fileandfolder.exe als UserParameter in der Zabbix-Agenten Konfigurationsdatei</description>
|
||||||
|
<applications>
|
||||||
|
<application>
|
||||||
|
<name>Dateien und Ordner Pruefungen</name>
|
||||||
|
</application>
|
||||||
|
</applications>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<name>Verzeichnis - Anzahl von Dateien in einem Verzeichnis (ohne Rekursion)</name>
|
||||||
|
<type>ZABBIX_ACTIVE</type>
|
||||||
|
<key>znil.fileandfolder[FileCount,C:/Windows/System32]</key>
|
||||||
|
<delay>300</delay>
|
||||||
|
<history>30d</history>
|
||||||
|
<description>Gibt die Anzahl von Dateien in einem Ordner wieder.
|
||||||
|
- ohne Ordner
|
||||||
|
- ohne Dateien in Unterordnern
|
||||||
|
|
||||||
|
Rückgabewert ist eine Zahl!
|
||||||
|
|
||||||
|
ACHTUNG: Beim Pfad müssen / statt \ verwendet werden!!!!
|
||||||
|
|
||||||
|
Benötigt fileandfolder.exe als UserParameter in der Zabbix-Agenten Konfigurationsdatei</description>
|
||||||
|
<applications>
|
||||||
|
<application>
|
||||||
|
<name>Dateien und Ordner Pruefungen</name>
|
||||||
|
</application>
|
||||||
|
</applications>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<name>Verzeichnis - Anzahl von Dateien die älter >= 24h sind in einen Verzeichnis (Erstellungsdatum)</name>
|
||||||
|
<type>ZABBIX_ACTIVE</type>
|
||||||
|
<key>znil.fileandfolder[FileCountAge=86400,C:/Windows/System32]</key>
|
||||||
|
<delay>300</delay>
|
||||||
|
<history>30d</history>
|
||||||
|
<description>Gibt die Anzahl von Dateien in einem Ordner wieder.
|
||||||
|
- ohne Ordner
|
||||||
|
- ohne Dateien in Unterordnern
|
||||||
|
- die älter sind als FileCountAge=86400
|
||||||
|
Angabe ist in Sekunden
|
||||||
|
|
||||||
|
Vergleich ist größer/gleich >=
|
||||||
|
|
||||||
|
Rückgabewert ist eine Zahl!
|
||||||
|
|
||||||
|
ACHTUNG: Beim Pfad müssen / statt \ verwendet werden!!!!
|
||||||
|
|
||||||
|
Benötigt fileandfolder.exe als UserParameter in der Zabbix-Agenten Konfigurationsdatei</description>
|
||||||
|
<applications>
|
||||||
|
<application>
|
||||||
|
<name>Dateien und Ordner Pruefungen</name>
|
||||||
|
</application>
|
||||||
|
</applications>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<name>Verzeichnis - Anzahl von Dateien und Ordnern in einer Verzeichnisstruktur (Rekursion)</name>
|
||||||
|
<type>ZABBIX_ACTIVE</type>
|
||||||
|
<key>znil.fileandfolder[FileCountR,C:/Windows/System32]</key>
|
||||||
|
<delay>300</delay>
|
||||||
|
<history>30d</history>
|
||||||
|
<description>Gibt die Anzahl von Dateien und Ordner in einem Odrner und allen Unterordnern wieder.
|
||||||
|
Ordner werden auch mitgezählt!
|
||||||
|
|
||||||
|
Rückgabewert ist eine Zahl!
|
||||||
|
|
||||||
|
ACHTUNG: Beim Pfad müssen / statt \ verwendet werden!!!!
|
||||||
|
|
||||||
|
Benötigt fileandfolder.exe als UserParameter in der Zabbix-Agenten Konfigurationsdatei</description>
|
||||||
|
<applications>
|
||||||
|
<application>
|
||||||
|
<name>Dateien und Ordner Pruefungen</name>
|
||||||
|
</application>
|
||||||
|
</applications>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<name>Verzeichnis - Anzahl von Dateien in einer Verzeichnisstruktur (Rekursion)</name>
|
||||||
|
<type>ZABBIX_ACTIVE</type>
|
||||||
|
<key>znil.fileandfolder[FileCountR2,C:/Windows/System32]</key>
|
||||||
|
<delay>300</delay>
|
||||||
|
<history>30d</history>
|
||||||
|
<description>Gibt die Anzahl von Dateien in einem Ordner und allen Unterordnern wieder.
|
||||||
|
- Ordner werden nicht mitgezählt
|
||||||
|
- Dateien in den Ordnern werden mitgezählt
|
||||||
|
|
||||||
|
Rückgabewert ist eine Zahl!
|
||||||
|
|
||||||
|
ACHTUNG: Beim Pfad müssen / statt \ verwendet werden!!!!
|
||||||
|
|
||||||
|
Benötigt fileandfolder.exe als UserParameter in der Zabbix-Agenten Konfigurationsdatei</description>
|
||||||
|
<applications>
|
||||||
|
<application>
|
||||||
|
<name>Dateien und Ordner Pruefungen</name>
|
||||||
|
</application>
|
||||||
|
</applications>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<name>Verzeichnis - Anzahl von DLL Dateien >= 1MB in einen Verzeichnis</name>
|
||||||
|
<type>ZABBIX_ACTIVE</type>
|
||||||
|
<key>znil.fileandfolder[FileCountSize=1048576,C:/Windows/System32,"*.dll"]</key>
|
||||||
|
<delay>300</delay>
|
||||||
|
<history>30d</history>
|
||||||
|
<description>Gibt die Anzahl von Dateien in einem Ordner wieder.
|
||||||
|
- ohne Ordner
|
||||||
|
- ohne Dateien in Unterordnern
|
||||||
|
- die groesser sind als FileCountSize=1048576
|
||||||
|
- die der Suchmaske *.dll entsprechen
|
||||||
|
Angabe ist in Bytes!
|
||||||
|
|
||||||
|
Vergleich ist kleiner/gleich >=
|
||||||
|
|
||||||
|
Rückgabewert ist eine Zahl!
|
||||||
|
|
||||||
|
ACHTUNG: Beim Pfad müssen / statt \ verwendet werden!!!!
|
||||||
|
|
||||||
|
Benötigt fileandfolder.exe als UserParameter in der Zabbix-Agenten Konfigurationsdatei</description>
|
||||||
|
<applications>
|
||||||
|
<application>
|
||||||
|
<name>Dateien und Ordner Pruefungen</name>
|
||||||
|
</application>
|
||||||
|
</applications>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<name>Verzeichnis - Anzahl von Dateien >= 1MB in einen Verzeichnis</name>
|
||||||
|
<type>ZABBIX_ACTIVE</type>
|
||||||
|
<key>znil.fileandfolder[FileCountSize=1048576,C:/Windows/System32]</key>
|
||||||
|
<delay>300</delay>
|
||||||
|
<history>30d</history>
|
||||||
|
<description>Gibt die Anzahl von Dateien in einem Ordner wieder.
|
||||||
|
- ohne Ordner
|
||||||
|
- ohne Dateien in Unterordnern
|
||||||
|
- die größer sind als FileCountSize=1048576
|
||||||
|
Angabe ist in Bytes!
|
||||||
|
|
||||||
|
Vergleich ist größer/gleich >=
|
||||||
|
|
||||||
|
Rückgabewert ist eine Zahl!
|
||||||
|
|
||||||
|
ACHTUNG: Beim Pfad müssen / statt \ verwendet werden!!!!
|
||||||
|
|
||||||
|
Benötigt fileandfolder.exe als UserParameter in der Zabbix-Agenten Konfigurationsdatei</description>
|
||||||
|
<applications>
|
||||||
|
<application>
|
||||||
|
<name>Dateien und Ordner Pruefungen</name>
|
||||||
|
</application>
|
||||||
|
</applications>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<name>Datei - Zeit seit Erstellung in Sekunden (Erstellungsdatum)</name>
|
||||||
|
<type>ZABBIX_ACTIVE</type>
|
||||||
|
<key>znil.fileandfolder[FileCreateAge,C:/Program Files/Zabbix/zabbix_agentd.win.conf]</key>
|
||||||
|
<delay>300</delay>
|
||||||
|
<history>30d</history>
|
||||||
|
<units>s</units>
|
||||||
|
<description>Gibt die Anzahl der Sekunden seit der Erstellung der Datei oder des Verzeichnisses zurück.
|
||||||
|
|
||||||
|
Rückgabewert ist eine Zahl!
|
||||||
|
|
||||||
|
ACHTUNG: Beim Pfad müssen / statt \ verwendet werden!!!!
|
||||||
|
|
||||||
|
Benötigt fileandfolder.exe als UserParameter in der Zabbix-Agenten Konfigurationsdatei</description>
|
||||||
|
<applications>
|
||||||
|
<application>
|
||||||
|
<name>Dateien und Ordner Pruefungen</name>
|
||||||
|
</application>
|
||||||
|
</applications>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<name>Verzeichnis - Zeit seit Erstellung in Sekunden (Erstellungsdatum)</name>
|
||||||
|
<type>ZABBIX_ACTIVE</type>
|
||||||
|
<key>znil.fileandfolder[FileCreateAge,C:/Windows]</key>
|
||||||
|
<delay>300</delay>
|
||||||
|
<history>30d</history>
|
||||||
|
<units>s</units>
|
||||||
|
<description>Gibt die Anzahl der Sekunden seit der Erstellung der Datei oder des Verzeichnisses zurück.
|
||||||
|
|
||||||
|
Rückgabewert ist eine Zahl!
|
||||||
|
|
||||||
|
ACHTUNG: Beim Pfad müssen / statt \ verwendet werden!!!!
|
||||||
|
|
||||||
|
Benötigt fileandfolder.exe als UserParameter in der Zabbix-Agenten Konfigurationsdatei</description>
|
||||||
|
<applications>
|
||||||
|
<application>
|
||||||
|
<name>Dateien und Ordner Pruefungen</name>
|
||||||
|
</application>
|
||||||
|
</applications>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<name>Verzeichnis - Anzahl von Dateien gemäß Suchmuster V1 (*.dll)</name>
|
||||||
|
<type>ZABBIX_ACTIVE</type>
|
||||||
|
<key>znil.fileandfolder[FileFindCount,C:/Windows/System32/%.dll]</key>
|
||||||
|
<delay>300</delay>
|
||||||
|
<history>30d</history>
|
||||||
|
<description>Gibt die Anzahl von Dateien auf die das Suchmuster zutrifft zurück. Hiell alle .dll Dateien => *.dll
|
||||||
|
|
||||||
|
Suchmuster wie *.dll oder test*.* etc.
|
||||||
|
Aber statt * muss das % zeichen genommen werden!
|
||||||
|
|
||||||
|
Rückgabewert ist eine Zahl!
|
||||||
|
|
||||||
|
ACHTUNG: Beim Pfad müssen / statt \ verwendet werden!!!!
|
||||||
|
|
||||||
|
Benötigt fileandfolder.exe als UserParameter in der Zabbix-Agenten Konfigurationsdatei</description>
|
||||||
|
<applications>
|
||||||
|
<application>
|
||||||
|
<name>Dateien und Ordner Pruefungen</name>
|
||||||
|
</application>
|
||||||
|
</applications>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<name>Verzeichnis - Anzahl von Dateien gemäß Suchmuster V2 (*win*.*)</name>
|
||||||
|
<type>ZABBIX_ACTIVE</type>
|
||||||
|
<key>znil.fileandfolder[FileFindCount,C:/Windows/System32/%win%.%]</key>
|
||||||
|
<delay>300</delay>
|
||||||
|
<history>30d</history>
|
||||||
|
<description>Gibt die Anzahl von Dateien auf die das Suchmuster zutrifft zurück. Hier alle Dateien mit der Buchstabenfolge "win" - *win*.*
|
||||||
|
|
||||||
|
Suchmuster wie *.dll oder test*.* etc.
|
||||||
|
Aber statt * muss das % zeichen genommen werden!
|
||||||
|
|
||||||
|
Rückgabewert ist eine Zahl!
|
||||||
|
|
||||||
|
ACHTUNG: Beim Pfad müssen / statt \ verwendet werden!!!!
|
||||||
|
|
||||||
|
Benötigt fileandfolder.exe als UserParameter in der Zabbix-Agenten Konfigurationsdatei</description>
|
||||||
|
<applications>
|
||||||
|
<application>
|
||||||
|
<name>Dateien und Ordner Pruefungen</name>
|
||||||
|
</application>
|
||||||
|
</applications>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<name>Verzeichnis - Anzahl von Dateien gemäß Suchmuster V3 (m??.dll))</name>
|
||||||
|
<type>ZABBIX_ACTIVE</type>
|
||||||
|
<key>znil.fileandfolder[FileFindCount,C:/Windows/System32/m??.dll]</key>
|
||||||
|
<delay>300</delay>
|
||||||
|
<history>30d</history>
|
||||||
|
<description>Gibt die Anzahl von Dateien auf die das Suchmuster zutrifft zurück. Hier alle Dateien mit der Buchstabenfolge "win" - *win*.*
|
||||||
|
|
||||||
|
Suchmuster wie *.dll oder test*.* etc.
|
||||||
|
Aber statt * muss das % zeichen genommen werden!
|
||||||
|
|
||||||
|
Rückgabewert ist eine Zahl!
|
||||||
|
|
||||||
|
ACHTUNG: Beim Pfad müssen / statt \ verwendet werden!!!!
|
||||||
|
|
||||||
|
Benötigt fileandfolder.exe als UserParameter in der Zabbix-Agenten Konfigurationsdatei</description>
|
||||||
|
<applications>
|
||||||
|
<application>
|
||||||
|
<name>Dateien und Ordner Pruefungen</name>
|
||||||
|
</application>
|
||||||
|
</applications>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<name>Datei - Versionsnummer abfragen (nur bei .exe Dateien)</name>
|
||||||
|
<type>ZABBIX_ACTIVE</type>
|
||||||
|
<key>znil.fileandfolder[FileGetVersion,C:/Windows/write.exe]</key>
|
||||||
|
<delay>300</delay>
|
||||||
|
<history>30d</history>
|
||||||
|
<trends>0</trends>
|
||||||
|
<value_type>CHAR</value_type>
|
||||||
|
<description>Gibt die Versionsnummer einer ausführbaren Datei zurück.
|
||||||
|
Enthält die Datei keine Versionsinformationen wird 0.0.0.0 zurück gegeben,
|
||||||
|
Ist es keine ausführbare Datei wird -1 zurück gegeben
|
||||||
|
|
||||||
|
Rückgabewert ist vom Typ Char (maximal 256 Zeichen)
|
||||||
|
|
||||||
|
ACHTUNG: Beim Pfad müssen / statt \ verwendet werden!!!!
|
||||||
|
|
||||||
|
Benötigt fileandfolder.exe als UserParameter in der Zabbix-Agenten Konfigurationsdatei</description>
|
||||||
|
<applications>
|
||||||
|
<application>
|
||||||
|
<name>Dateien und Ordner Pruefungen</name>
|
||||||
|
</application>
|
||||||
|
</applications>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<name>Datei - Zeit seit letzter Änderung in Sekunden (Änderungsdatum)</name>
|
||||||
|
<type>ZABBIX_ACTIVE</type>
|
||||||
|
<key>znil.fileandfolder[FileModifyAge,C:/Program Files/Zabbix/zabbix_agentd.win.conf]</key>
|
||||||
|
<delay>300</delay>
|
||||||
|
<history>30d</history>
|
||||||
|
<units>s</units>
|
||||||
|
<description>Gibt die Anzahl der Sekunden seit der letzen Änderung der Datei zurück.
|
||||||
|
|
||||||
|
Rückgabewert ist eine Zahl!
|
||||||
|
|
||||||
|
ACHTUNG: Beim Pfad müssen / statt \ verwendet werden!!!!
|
||||||
|
|
||||||
|
Benötigt fileandfolder.exe als UserParameter in der Zabbix-Agenten Konfigurationsdatei</description>
|
||||||
|
<applications>
|
||||||
|
<application>
|
||||||
|
<name>Dateien und Ordner Pruefungen</name>
|
||||||
|
</application>
|
||||||
|
</applications>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<name>Verzeichnis - Attribute im Format RASHNDOCTIPL (siehe Beschreibung)</name>
|
||||||
|
<type>ZABBIX_ACTIVE</type>
|
||||||
|
<key>znil.fileandfolder[GetAttrib,C:/$RECYCLE.BIN]</key>
|
||||||
|
<delay>300</delay>
|
||||||
|
<history>30d</history>
|
||||||
|
<trends>0</trends>
|
||||||
|
<value_type>CHAR</value_type>
|
||||||
|
<description>Gibt die Attribute einer Datei oder eines Verzeichnisses zurück
|
||||||
|
Rückgabewert ist Character
|
||||||
|
|
||||||
|
Rückgabewert ist eine Kombination von "RASHNDOCTIPL":
|
||||||
|
"R" = Read-Only
|
||||||
|
"A" = Archive
|
||||||
|
"S" = System
|
||||||
|
"H" = Hidden
|
||||||
|
"N" = Normal
|
||||||
|
"D" = Directory
|
||||||
|
"O" = Offline
|
||||||
|
"C" = Compressed (NTFS compression, not ZIP compression)
|
||||||
|
"T" = Temporay
|
||||||
|
"I" = Not content-indexed
|
||||||
|
"P" = Sparse File
|
||||||
|
"L" = Symbolic Link / Junction
|
||||||
|
|
||||||
|
|
||||||
|
ACHTUNG: Beim Pfad müssen / statt \ verwendet werden!!!!
|
||||||
|
|
||||||
|
Benötigt fileandfolder.exe als UserParameter in der Zabbix-Agenten Konfigurationsdatei</description>
|
||||||
|
<applications>
|
||||||
|
<application>
|
||||||
|
<name>Dateien und Ordner Pruefungen</name>
|
||||||
|
</application>
|
||||||
|
</applications>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<name>Datei - Attribute im Format RASHNDOCTIPL (siehe Beschreibung)</name>
|
||||||
|
<type>ZABBIX_ACTIVE</type>
|
||||||
|
<key>znil.fileandfolder[GetAttrib,C:/pagefile.sys]</key>
|
||||||
|
<delay>300</delay>
|
||||||
|
<history>30d</history>
|
||||||
|
<trends>0</trends>
|
||||||
|
<value_type>CHAR</value_type>
|
||||||
|
<description>Gibt die Attribute einer Datei oder eines Verzeichnisses zurück
|
||||||
|
Rückgabewert ist Character
|
||||||
|
|
||||||
|
Rückgabewert ist eine Kombination von "RASHNDOCTIPL":
|
||||||
|
"R" = Read-Only
|
||||||
|
"A" = Archive
|
||||||
|
"S" = System
|
||||||
|
"H" = Hidden
|
||||||
|
"N" = Normal
|
||||||
|
"D" = Directory
|
||||||
|
"O" = Offline
|
||||||
|
"C" = Compressed (NTFS compression, not ZIP compression)
|
||||||
|
"T" = Temporay
|
||||||
|
"I" = Not content-indexed
|
||||||
|
"P" = Sparse File
|
||||||
|
"L" = Symbolic Link / Junction
|
||||||
|
|
||||||
|
|
||||||
|
ACHTUNG: Beim Pfad müssen / statt \ verwendet werden!!!!
|
||||||
|
|
||||||
|
Benötigt fileandfolder.exe als UserParameter in der Zabbix-Agenten Konfigurationsdatei</description>
|
||||||
|
<applications>
|
||||||
|
<application>
|
||||||
|
<name>Dateien und Ordner Pruefungen</name>
|
||||||
|
</application>
|
||||||
|
</applications>
|
||||||
|
</item>
|
||||||
|
</items>
|
||||||
|
</template>
|
||||||
|
</templates>
|
||||||
|
</zabbix_export>
|
Binary file not shown.
640
fileandfolderV4.au3
Normal file
640
fileandfolderV4.au3
Normal file
@ -0,0 +1,640 @@
|
|||||||
|
#NoTrayIcon
|
||||||
|
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
|
||||||
|
#AutoIt3Wrapper_Icon=Icon256-32.ico
|
||||||
|
#AutoIt3Wrapper_Outfile=fileandfolder.exe
|
||||||
|
#AutoIt3Wrapper_UseUpx=y
|
||||||
|
#AutoIt3Wrapper_Change2CUI=y
|
||||||
|
#AutoIt3Wrapper_Res_Comment=2014-2020 von Bernhard Linz / Bernhard@znil.de
|
||||||
|
#AutoIt3Wrapper_Res_Description=FileAndFolder.exe Zabbix Helper
|
||||||
|
#AutoIt3Wrapper_Res_Fileversion=4.0.0.3
|
||||||
|
#AutoIt3Wrapper_Res_Fileversion_AutoIncrement=y
|
||||||
|
#AutoIt3Wrapper_Res_SaveSource=y
|
||||||
|
#AutoIt3Wrapper_Res_Language=1031
|
||||||
|
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
|
||||||
|
#include <Date.au3>
|
||||||
|
|
||||||
|
|
||||||
|
Dim $h_suchhandle
|
||||||
|
Dim $i_Zaehler
|
||||||
|
Dim $s_Path
|
||||||
|
Dim $s_temp
|
||||||
|
Dim $a_dateizeit
|
||||||
|
Dim $a_aktuellezeit
|
||||||
|
Dim $a_dateiliste
|
||||||
|
Dim $i_Sekunden
|
||||||
|
Dim $i_Dateigroesse
|
||||||
|
Dim $i_DateiSuchGroesse = 0
|
||||||
|
Dim $i_DateiSuchAlter = 0
|
||||||
|
Dim $b_Inverse = False
|
||||||
|
Dim $s_Suchmuster = "*"
|
||||||
|
Global $b_Verbose = False
|
||||||
|
|
||||||
|
; 10 20 30 40 50 60 70 80
|
||||||
|
; 12345678901234567890123456789012345678901234567890123456789012345678901234567890
|
||||||
|
Dim $s_Header = _
|
||||||
|
"+------------------------------------------------------------------------------" & @CRLF & _
|
||||||
|
"| fileandfolder.exe - Version " & FileGetVersion(@ScriptName) & @CRLF & _
|
||||||
|
"+------------------------------------------------------------------------------" & @CRLF & _
|
||||||
|
"| 2013/2015 von Bernhard Linz für http://znil.net - Kontakt: Bernhard@znil.net" & @CRLF & _
|
||||||
|
"+------------------------------------------------------------------------------" & @CRLF & _
|
||||||
|
@CRLF
|
||||||
|
|
||||||
|
; 10 20 30 40 50 60 70 80
|
||||||
|
; 12345678901234567890123456789012345678901234567890123456789012345678901234567890
|
||||||
|
Dim $s_HilfeText = _
|
||||||
|
"Hilfsprogramm für die Abfrage von Werten rund aus dem Dateisystem." & @CRLF & _
|
||||||
|
"Erstellt weil es mir in Zabbix zu kompliziert war / nicht das war was ich wollte." & @CRLF & _
|
||||||
|
"genaue Anleitung unter dem Weblink unten am Ende." & @CRLF & _
|
||||||
|
"Testet den Aufruf auf jeden Fall manuell bevor in in Zabbix als Item einbaut!" & @CRLF & _
|
||||||
|
"Die Rückgabewerte werden gleichzeitig auch als Exit-Codes zurückgegeben - können also" & @CRLF & _
|
||||||
|
"auch in Batchdateien mit %ERRORLEVEL% abgefragt werden" & @CRLF & _
|
||||||
|
"-------------------------------------------------------------------------------" & @CRLF & _
|
||||||
|
@CRLF & _
|
||||||
|
"Aufruf: " & @CRLF & _
|
||||||
|
@CRLF & _
|
||||||
|
@ScriptName & " <Option> <Datei oder Ordner> [Suchmaske] [--Verbose]" & @CRLF & _
|
||||||
|
@CRLF & _
|
||||||
|
"DirGetSize : gibt die Verzeichnisgröße in Bytes zurück" & @CRLF & _
|
||||||
|
" ist inklusive aller Unterordner und deren Dateien" & @CRLF & _
|
||||||
|
" -1 = Verzeichnis nicht gefunden" & @CRLF & _
|
||||||
|
@CRLF & _
|
||||||
|
"DirExists : prüft ob ein Verzeichnis existiert" & @CRLF & _
|
||||||
|
" 0 = Verzeichnis nicht gefunden" & @CRLF & _
|
||||||
|
" 1 = Verzeichnis gefunden" & @CRLF & _
|
||||||
|
"FileCreateAge : Liefert die Anzahl der vergangenen Sekunden seit der," & @CRLF & _
|
||||||
|
" Erstellung einer Datei zurück." & @CRLF & _
|
||||||
|
" -1 = Datei nicht gefunden" & @CRLF & _
|
||||||
|
@CRLF & _
|
||||||
|
"FileCount : Zählt die Anzahl von Dateien in einem Ordner" & @CRLF & _
|
||||||
|
" und gibt die Anzahl zurück, 0 = keine Dateien gefunden" & @CRLF & _
|
||||||
|
" Unterverzeichnisse werden mitgezählt!" & @CRLF & _
|
||||||
|
" Es muss ein Verzeichnis angegeben werden!" & @CRLF & _
|
||||||
|
@CRLF & _
|
||||||
|
"FileCountR : Wie zuvor, jedoch Rekursiv, Ordner werden mitgezählt" & @CRLF & _
|
||||||
|
@CRLF & _
|
||||||
|
"FileCountR2 : Wie zuvor, Rekursiv, Ordner werden nicht mitgezählt" & @CRLF & _
|
||||||
|
@CRLF & _
|
||||||
|
"FileFindCount : Gibt die Anzahl der gefundenen Dateien / Ordner zurück auf" & @CRLF & _
|
||||||
|
" die das Suchmuster zutrifft. Beispiele:" & @CRLF & _
|
||||||
|
" C:\Daten\*.docx = Alle Dateien die auf .docx enden" & @CRLF & _
|
||||||
|
" C:\Daten\Test*.* = Alle Dateien die mit Test beginnen" & @CRLF & _
|
||||||
|
" Es gelten die üblichen Suchmuster mit * und ?" & @CRLF & _
|
||||||
|
" Dateien in Unterordnern werden nicht gefunden, es wird" & @CRLF & _
|
||||||
|
" der gewählte Ordner durchsucht." & @CRLF & _
|
||||||
|
@CRLF & _
|
||||||
|
"FileCountSize=x : Zählt die Anzahl von Dateien in einem Ordner die größer" & @CRLF & _
|
||||||
|
" als die mit x angegebene Größe sind und gibt die Anzahl zurück" & @CRLF & _
|
||||||
|
" 0 = keine Dateien gefunden, Ordner werden ignoriert, keine" & @CRLF & _
|
||||||
|
" rekursion, Angabe der Größe in Bytes" & @CRLF & _
|
||||||
|
@CRLF & _
|
||||||
|
"#FileCountSize=x : Wie zuvor, jedoch 'kleiner als' statt größer" & @CRLF & _
|
||||||
|
@CRLF & _
|
||||||
|
@CRLF & _
|
||||||
|
"FileCountAge=x : Zählt die Anzahl von Dateien in einem Ordner die älter" & @CRLF & _
|
||||||
|
" als das mit x angegebene Alter sind und gibt die Anzahl zurück" & @CRLF & _
|
||||||
|
" 0 = keine Dateien gefunden, Ordner werden ignoriert, keine" & @CRLF & _
|
||||||
|
" Rekursion, Angabe der Zeit in Sekunden" & @CRLF & _
|
||||||
|
" Basis ist das Erstellungsdatum" & @CRLF & _
|
||||||
|
@CRLF & _
|
||||||
|
"#FileCountAge=x : Wie zuvor, nur 'jünger sind' statt älter" & @CRLF & _
|
||||||
|
@CRLF & _
|
||||||
|
"FileModifyAge : Liefert die Anzahl der vergangenen Sekunden seit der" & @CRLF & _
|
||||||
|
" letzten Änderung einer Datei zurück" & @CRLF & _
|
||||||
|
" -1 = Datei nicht gefunden" & @CRLF & _
|
||||||
|
@CRLF & _
|
||||||
|
"FileGetSize : gibt die Dateigröße in Bytes zurück" & @CRLF & _
|
||||||
|
" -1 = Datei nicht gefunden" & @CRLF & _
|
||||||
|
@CRLF & _
|
||||||
|
"FileGetVersion : gibt die Dateiversion als Typ Char zurück" & @CRLF & _
|
||||||
|
" -1 = Datei nicht gefunden" & @CRLF & _
|
||||||
|
@CRLF & _
|
||||||
|
"GetAttrib : gibt die Datei- oder Verzeichnisattribute als Typ Char zurück" & @CRLF & _
|
||||||
|
" -1 = Datei/Verzeichnis nicht gefunden" & @CRLF & _
|
||||||
|
' Rückgabewert ist eine Kombination von "RASHNDOCTIPL":' & @CRLF & _
|
||||||
|
' "R" = Read-Only' & @CRLF & _
|
||||||
|
' "A" = Archive' & @CRLF & _
|
||||||
|
' "S" = System' & @CRLF & _
|
||||||
|
' "H" = Hidden' & @CRLF & _
|
||||||
|
' "N" = Normal' & @CRLF & _
|
||||||
|
' "D" = Directory' & @CRLF & _
|
||||||
|
' "O" = Offline' & @CRLF & _
|
||||||
|
' "C" = Compressed (NTFS compression, not ZIP compression)' & @CRLF & _
|
||||||
|
' "T" = Temporay' & @CRLF & _
|
||||||
|
' "I" = Not content-indexed' & @CRLF & _
|
||||||
|
' "P" = Sparse File' & @CRLF & _
|
||||||
|
' "L" = Symbolic Link / Junction' & @CRLF & _
|
||||||
|
@CRLF & _
|
||||||
|
'[Suchmaske] : Schränkt bei Verzeichnisbefehlen auf Dateien entsprechend' & @CRLF & _
|
||||||
|
' dieser Maske ein, z.B. *.txt - Funktioniert mit:' & @CRLF & _
|
||||||
|
' FileCountSize, FileCountAge' & @CRLF & _
|
||||||
|
"--Verbose : Verbose Modus mit Anzeige der Prüfungen etc" & @CRLF & _
|
||||||
|
"-------------------------------------------------------------------------------" & @CRLF & _
|
||||||
|
" Im Fehlerfall (wenn z.B. ein ungültiger Parameter oder Ordner nicht gefunden)" & @CRLF & _
|
||||||
|
" wird -1 zurück gegeben" & @CRLF & _
|
||||||
|
"+------------------------------------------------------------------------------" & @CRLF & _
|
||||||
|
"| FileandFolder.exe ist FREEWARE!" & @CRLF & _
|
||||||
|
"| Kopieren, weitergeben ausdrücklich erlaubt!" & @CRLF & _
|
||||||
|
"| Die jeweils aktuelleste Version und Anleitungen findet Ihr unter:" & @CRLF & _
|
||||||
|
"| http://znil.net/index.php?title=Zabbix:Template_Windows_Dateien_und_Ordner" & @CRLF & _
|
||||||
|
"+------------------------------------------------------------------------------" & @CRLF
|
||||||
|
|
||||||
|
; ###################################################################################
|
||||||
|
; F U N C T I O N E N / S U B R O U T I N E N
|
||||||
|
; ###################################################################################
|
||||||
|
|
||||||
|
; ###################################################################################
|
||||||
|
; _ANSI2OEM löst das Problem mit dem Umlauten und anderen Sonderzeichen. Es wandelt Text so um das er korrekt in der DOS-Box dargestellt wird
|
||||||
|
; So können hier im Quellcode auch Umlaute verwendet werden (in den Textausgaben) und diese werden dann korrekt dargestellt
|
||||||
|
|
||||||
|
Func _ANSI2OEM($text)
|
||||||
|
$text = DllCall('user32.dll', 'Int', 'CharToOem', 'str', $text, 'str', '')
|
||||||
|
Return $text[2]
|
||||||
|
;Return $text
|
||||||
|
EndFunc ;==>_ANSI2OEM
|
||||||
|
|
||||||
|
; ###################################################################################
|
||||||
|
; Hilfsroutine die den Hilfetext ausgibt
|
||||||
|
Func _HilfeAusgeben()
|
||||||
|
ConsoleWrite(_ANSI2OEM($s_Header))
|
||||||
|
ConsoleWrite(_ANSI2OEM($s_HilfeText))
|
||||||
|
EndFunc ;==>_HilfeAusgeben
|
||||||
|
|
||||||
|
; ###################################################################################
|
||||||
|
; Soll ganz toll ganze Verzeichnisbäume abgrasen können
|
||||||
|
;==================================================================================================
|
||||||
|
; Function Name: _GetFilesFolder_Rekursiv($sPath [, $sExt='*' [, $iDir=-1 [, $iRetType=0 ,[$sDelim='0']]]])
|
||||||
|
; Description: Rekursive Auflistung von Dateien und/oder Ordnern
|
||||||
|
; Parameter(s): $sPath der Basispfad für die Auflistung ('.' -aktueller Pfad, '..' -Parentpfad)
|
||||||
|
; $sExt Erweiterung für Dateiauswahl '*' oder -1 für alle (Standard)
|
||||||
|
; $iDir -1 Dateien+Ordner(Standard), 0 nur Dateien, 1 nur Ordner
|
||||||
|
; optional: $iRetType 0 gibt Array, 1 gibt String zurück
|
||||||
|
; optional: $sDelim legt Trennzeichen für Stringrückgabe fest
|
||||||
|
; 0 -@CRLF (Standard) 1 -@CR 2 -@LF 3 -';' 4 -'|'
|
||||||
|
; Return Value(s): Array (Standard) od. String mit den gefundenen Pfaden der Dateien und/oder Ordner
|
||||||
|
; Array[0] enthält die Anzahl der gefundenen Dateien/Ordner
|
||||||
|
; Author(s): BugFix (bugfix@autoit.de)
|
||||||
|
;==================================================================================================
|
||||||
|
Func _GetFilesFolder_Rekursiv($sPath, $sExt='*', $iDir=-1, $iRetType=0, $sDelim='0')
|
||||||
|
Global $oFSO = ObjCreate('Scripting.FileSystemObject')
|
||||||
|
Global $strFiles = ''
|
||||||
|
Switch $sDelim
|
||||||
|
Case '1'
|
||||||
|
$sDelim = @CR
|
||||||
|
Case '2'
|
||||||
|
$sDelim = @LF
|
||||||
|
Case '3'
|
||||||
|
$sDelim = ';'
|
||||||
|
Case '4'
|
||||||
|
$sDelim = '|'
|
||||||
|
Case Else
|
||||||
|
$sDelim = @CRLF
|
||||||
|
EndSwitch
|
||||||
|
If ($iRetType < 0) Or ($iRetType > 1) Then $iRetType = 0
|
||||||
|
If $sExt = -1 Then $sExt = '*'
|
||||||
|
If ($iDir < -1) Or ($iDir > 1) Then $iDir = -1
|
||||||
|
_ShowSubFolders($oFSO.GetFolder($sPath),$sExt,$iDir,$sDelim)
|
||||||
|
If $iRetType = 0 Then
|
||||||
|
Local $aOut
|
||||||
|
$aOut = StringSplit(StringTrimRight($strFiles, StringLen($sDelim)), $sDelim, 1)
|
||||||
|
If $aOut[1] = '' Then
|
||||||
|
ReDim $aOut[1]
|
||||||
|
$aOut[0] = 0
|
||||||
|
EndIf
|
||||||
|
Return $aOut
|
||||||
|
Else
|
||||||
|
Return StringTrimRight($strFiles, StringLen($sDelim))
|
||||||
|
EndIf
|
||||||
|
EndFunc
|
||||||
|
|
||||||
|
Func _ShowSubFolders($Folder, $Ext='*', $Dir=-1, $Delim=@CRLF)
|
||||||
|
If Not IsDeclared("strFiles") Then Global $strFiles = ''
|
||||||
|
If ($Dir = -1) Or ($Dir = 0) Then
|
||||||
|
For $file In $Folder.Files
|
||||||
|
If $Ext <> '*' Then
|
||||||
|
If StringRight($file.Name, StringLen($Ext)) = $Ext Then _
|
||||||
|
$strFiles &= $file.Path & $Delim
|
||||||
|
Else
|
||||||
|
$strFiles &= $file.Path & $Delim
|
||||||
|
EndIf
|
||||||
|
Next
|
||||||
|
EndIf
|
||||||
|
For $Subfolder In $Folder.SubFolders
|
||||||
|
If ($Dir = -1) Or ($Dir = 1) Then $strFiles &= $Subfolder.Path & '\' & $Delim
|
||||||
|
_ShowSubFolders($Subfolder, $Ext, $Dir, $Delim)
|
||||||
|
Next
|
||||||
|
EndFunc
|
||||||
|
|
||||||
|
Func _VerboseConsoleWrite($s_VerboseText)
|
||||||
|
If $b_Verbose = True Then
|
||||||
|
ConsoleWrite(_ANSI2OEM($s_VerboseText) & @CRLF)
|
||||||
|
EndIf
|
||||||
|
EndFunc
|
||||||
|
|
||||||
|
|
||||||
|
; ###################################################################################
|
||||||
|
; H I L F E
|
||||||
|
; ###################################################################################
|
||||||
|
|
||||||
|
;testen ob wir überhaupt mit einem Parameter gestartet wurden - sonst Hilfe ausgeben
|
||||||
|
;~ If $CmdLine[0] = 0 Then
|
||||||
|
;~ _HilfeAusgeben()
|
||||||
|
;~ Exit 0
|
||||||
|
;~ EndIf
|
||||||
|
|
||||||
|
;testen ob der Parameter 1 ist auf "/?" testen und ebenfalls Hilfe ausgeben
|
||||||
|
If $CmdLine[0] = 0 Then
|
||||||
|
_HilfeAusgeben()
|
||||||
|
Exit 0
|
||||||
|
EndIf
|
||||||
|
|
||||||
|
If $CmdLine[1] = "/?" Then
|
||||||
|
_HilfeAusgeben()
|
||||||
|
Exit 0
|
||||||
|
EndIf
|
||||||
|
|
||||||
|
If StringInStr($CmdLineRaw, "--verbose") > 0 Then
|
||||||
|
$b_Verbose = True
|
||||||
|
ConsoleWrite("Aufruf von " & @ScriptName & " mit folgenden Parametern:" & @CRLF)
|
||||||
|
For $i = 1 To $CmdLine[0]
|
||||||
|
ConsoleWrite("Parameter " & $i & ": " & $CmdLine[$i] & @CRLF)
|
||||||
|
Next
|
||||||
|
EndIf
|
||||||
|
|
||||||
|
; Restliche Parameter auswerten und Variablen füllen ########################################################
|
||||||
|
; ##############################################################################################
|
||||||
|
If $CmdLine[1] = "FileCount" Then
|
||||||
|
If $CmdLine[0] < 2 Then
|
||||||
|
ConsoleWrite("-1" & @CRLF)
|
||||||
|
Exit -1
|
||||||
|
EndIf
|
||||||
|
$s_Path = $CmdLine[2]
|
||||||
|
If StringRight($s_Path,1) <> "\" Then
|
||||||
|
$s_Path = $s_Path & "\"
|
||||||
|
EndIf
|
||||||
|
$i_Zaehler = 0
|
||||||
|
If StringInStr(FileGetAttrib($CmdLine[2]), "D") > 0 Then
|
||||||
|
_VerboseConsoleWrite("Hole Zeiger auf Verzeichnis")
|
||||||
|
$h_suchhandle = FileFindFirstFile($s_Path & "*")
|
||||||
|
_VerboseConsoleWrite("Zähle Dateien")
|
||||||
|
While @error <> 1
|
||||||
|
$i_Zaehler = $i_Zaehler + 1
|
||||||
|
If $b_Verbose = True Then
|
||||||
|
ConsoleWrite(".")
|
||||||
|
EndIf
|
||||||
|
$s_temp = FileFindNextFile($h_suchhandle)
|
||||||
|
WEnd
|
||||||
|
If $i_Zaehler > 0 Then
|
||||||
|
$i_Zaehler = $i_Zaehler - 1
|
||||||
|
EndIf
|
||||||
|
_VerboseConsoleWrite(" fertig!")
|
||||||
|
ConsoleWrite($i_Zaehler & @CRLF)
|
||||||
|
FileClose($h_suchhandle)
|
||||||
|
Exit $i_Zaehler
|
||||||
|
Else
|
||||||
|
_VerboseConsoleWrite($CmdLine[2] & " ist kein Verzeichnis!")
|
||||||
|
_VerboseConsoleWrite(FileGetAttrib($CmdLine[2]))
|
||||||
|
ConsoleWrite("-1" & @CRLF)
|
||||||
|
FileClose($h_suchhandle)
|
||||||
|
Exit -1
|
||||||
|
EndIf
|
||||||
|
EndIf
|
||||||
|
; ##############################################################################################
|
||||||
|
If $CmdLine[1] = "FileCountR" Then
|
||||||
|
If $CmdLine[0] < 2 Then
|
||||||
|
ConsoleWrite("-1" & @CRLF)
|
||||||
|
Exit -1
|
||||||
|
EndIf
|
||||||
|
$s_Path = $CmdLine[2]
|
||||||
|
If StringRight($s_Path,1) <> "\" Then
|
||||||
|
$s_Path = $s_Path & "\"
|
||||||
|
EndIf
|
||||||
|
$i_Zaehler = 0
|
||||||
|
If StringInStr(FileGetAttrib($CmdLine[2]), "D") > 0 Then
|
||||||
|
$a_dateiliste = _GetFilesFolder_Rekursiv($s_Path)
|
||||||
|
ConsoleWrite($a_dateiliste[0] & @CRLF)
|
||||||
|
Exit $a_dateiliste[0]
|
||||||
|
Else
|
||||||
|
_VerboseConsoleWrite($CmdLine[2] & " ist kein Verzeichnis!")
|
||||||
|
_VerboseConsoleWrite(FileGetAttrib($CmdLine[2]))
|
||||||
|
ConsoleWrite("-1" & @CRLF)
|
||||||
|
Exit -1
|
||||||
|
EndIf
|
||||||
|
EndIf
|
||||||
|
; ##############################################################################################
|
||||||
|
If $CmdLine[1] = "FileCountR2" Then
|
||||||
|
If $CmdLine[0] < 2 Then
|
||||||
|
ConsoleWrite("-1" & @CRLF)
|
||||||
|
Exit -1
|
||||||
|
EndIf
|
||||||
|
$s_Path = $CmdLine[2]
|
||||||
|
If StringRight($s_Path,1) <> "\" Then
|
||||||
|
$s_Path = $s_Path & "\"
|
||||||
|
EndIf
|
||||||
|
$i_Zaehler = 0
|
||||||
|
If StringInStr(FileGetAttrib($CmdLine[2]), "D") > 0 Then
|
||||||
|
$a_dateiliste = _GetFilesFolder_Rekursiv($s_Path, "*", 0)
|
||||||
|
ConsoleWrite($a_dateiliste[0] & @CRLF)
|
||||||
|
Exit $a_dateiliste[0]
|
||||||
|
Else
|
||||||
|
ConsoleWrite("-1" & @CRLF)
|
||||||
|
Exit -1
|
||||||
|
EndIf
|
||||||
|
EndIf
|
||||||
|
; ##############################################################################################
|
||||||
|
If $CmdLine[1] = "FileFindCount" Then
|
||||||
|
If $CmdLine[0] < 2 Then
|
||||||
|
ConsoleWrite("-1" & @CRLF)
|
||||||
|
Exit -1
|
||||||
|
EndIf
|
||||||
|
$s_Path = StringReplace($CmdLine[2],"%","*") ; alle % durch * da Zabbix den * nicht mag
|
||||||
|
$s_Path = StringReplace($s_Path, "/", "\")
|
||||||
|
_VerboseConsoleWrite("Übergebender Suchparameter ist : " & $CmdLine[2])
|
||||||
|
_VerboseConsoleWrite("Umgewandelter Suchparamater ist : " & $s_Path)
|
||||||
|
$i_Zaehler = 0
|
||||||
|
$h_suchhandle = FileFindFirstFile($s_Path)
|
||||||
|
While @error <> 1
|
||||||
|
$i_Zaehler = $i_Zaehler + 1
|
||||||
|
$s_temp = FileFindNextFile($h_suchhandle)
|
||||||
|
If $s_temp <> "" Then
|
||||||
|
_VerboseConsoleWrite($i_Zaehler & ": Datei gefunden : '" & $s_temp & "'")
|
||||||
|
EndIf
|
||||||
|
WEnd
|
||||||
|
If $i_Zaehler > 0 Then
|
||||||
|
$i_Zaehler = $i_Zaehler - 1
|
||||||
|
EndIf
|
||||||
|
If $i_Zaehler = -1 Then
|
||||||
|
$i_Zaehler = 0
|
||||||
|
EndIf
|
||||||
|
ConsoleWrite($i_Zaehler & @CRLF)
|
||||||
|
Exit $i_Zaehler
|
||||||
|
EndIf
|
||||||
|
; ##############################################################################################
|
||||||
|
If $CmdLine[1] = "FileCreateAge" Then
|
||||||
|
If $CmdLine[0] < 2 Then
|
||||||
|
ConsoleWrite("-1" & @CRLF)
|
||||||
|
Exit -1
|
||||||
|
EndIf
|
||||||
|
If FileExists($CmdLine[2]) = 0 Then
|
||||||
|
ConsoleWrite("-1" & @CRLF)
|
||||||
|
Exit -1
|
||||||
|
EndIf
|
||||||
|
$a_dateizeit = FileGetTime($CmdLine[2],1) ; 1 = erstellt
|
||||||
|
; Das Array ist ein 1-dimensionales Array, das sechs Elemente enthält:
|
||||||
|
; $array[0] = Jahr (vierstellig)
|
||||||
|
; $array[1] = Monat (Bereich: 01 - 12)
|
||||||
|
; $array[2] = Tag (Bereich: 01 - 31)
|
||||||
|
; array[3] = Stunden (Bereich: 00 - 23)
|
||||||
|
; $array[4] = Minuten (Bereich: 00 - 59)
|
||||||
|
; $array[5] = Sekunden (Bereich: 00 - 59)
|
||||||
|
; Es ist zu beachten, dass die Rückgabewerte bei Bedarf mit Nullen aufgefüllt sind.
|
||||||
|
$i_Sekunden = _DateDiff("s", $a_dateizeit[0] & "/" & $a_dateizeit[1] & "/" & $a_dateizeit[2] & " " & $a_dateizeit[3] & ":" & $a_dateizeit[4] & ":" & $a_dateizeit[5], _NowCalc())
|
||||||
|
; $sType Auswählen, wie die Differenz zurückgegeben werden soll:
|
||||||
|
; D - in Tagen
|
||||||
|
; M - in Monaten
|
||||||
|
; Y - in Jahren
|
||||||
|
; w - in Wochen
|
||||||
|
; h - in Stunden
|
||||||
|
; n - in Minuten
|
||||||
|
; s - in Sekunden
|
||||||
|
ConsoleWrite($i_Sekunden & @CRLF)
|
||||||
|
Exit $i_Sekunden
|
||||||
|
EndIf
|
||||||
|
; ##############################################################################################
|
||||||
|
If $CmdLine[1] = "FileModifyAge" Then
|
||||||
|
If $CmdLine[0] < 2 Then
|
||||||
|
ConsoleWrite("-1" & @CRLF)
|
||||||
|
Exit -1
|
||||||
|
EndIf
|
||||||
|
If FileExists($CmdLine[2]) = 0 Then
|
||||||
|
ConsoleWrite("-1" & @CRLF)
|
||||||
|
Exit -1
|
||||||
|
EndIf
|
||||||
|
$a_dateizeit = FileGetTime($CmdLine[2],0) ; 0 = geändert
|
||||||
|
$i_Sekunden = _DateDiff("s", $a_dateizeit[0] & "/" & $a_dateizeit[1] & "/" & $a_dateizeit[2] & " " & $a_dateizeit[3] & ":" & $a_dateizeit[4] & ":" & $a_dateizeit[5], _NowCalc())
|
||||||
|
; $sType Auswählen, wie die Differenz zurückgegeben werden soll:
|
||||||
|
; D - in Tagen
|
||||||
|
; M - in Monaten
|
||||||
|
; Y - in Jahren
|
||||||
|
; w - in Wochen
|
||||||
|
; h - in Stunden
|
||||||
|
; n - in Minuten
|
||||||
|
; s - in Sekunden
|
||||||
|
ConsoleWrite($i_Sekunden & @CRLF)
|
||||||
|
Exit $i_Sekunden
|
||||||
|
EndIf
|
||||||
|
; ##############################################################################################
|
||||||
|
If $CmdLine[1] = "GetAttrib" Then
|
||||||
|
If $CmdLine[0] < 2 Then
|
||||||
|
ConsoleWrite("-1" & @CRLF)
|
||||||
|
Exit -1
|
||||||
|
EndIf
|
||||||
|
$s_Path = StringReplace($CmdLine[2], "/", "\")
|
||||||
|
_VerboseConsoleWrite("Übergebende Datei/Ordner ist : " & $CmdLine[2])
|
||||||
|
_VerboseConsoleWrite("Umgewandelter Pfad ist : " & $s_Path)
|
||||||
|
If FileExists($s_Path) = 0 Then
|
||||||
|
_VerboseConsoleWrite("Datei/Verzeichnis nicht vorhanden!")
|
||||||
|
ConsoleWrite("-1" & @CRLF)
|
||||||
|
Exit -1
|
||||||
|
EndIf
|
||||||
|
$s_temp = FileGetAttrib($s_Path)
|
||||||
|
ConsoleWrite($s_temp & @CRLF)
|
||||||
|
Exit
|
||||||
|
EndIf
|
||||||
|
; ##############################################################################################
|
||||||
|
If $CmdLine[1] = "FileGetSize" Then
|
||||||
|
If $CmdLine[0] < 2 Then
|
||||||
|
ConsoleWrite("-1" & @CRLF)
|
||||||
|
Exit -1
|
||||||
|
EndIf
|
||||||
|
If FileExists($CmdLine[2]) = 0 Then
|
||||||
|
ConsoleWrite("-1" & @CRLF)
|
||||||
|
Exit -1
|
||||||
|
EndIf
|
||||||
|
$i_Dateigroesse = FileGetSize($CmdLine[2])
|
||||||
|
ConsoleWrite($i_Dateigroesse & @CRLF)
|
||||||
|
Exit
|
||||||
|
EndIf
|
||||||
|
; ##############################################################################################
|
||||||
|
If $CmdLine[1] = "FileGetVersion" Then
|
||||||
|
If $CmdLine[0] < 2 Then
|
||||||
|
ConsoleWrite("-1" & @CRLF)
|
||||||
|
Exit -1
|
||||||
|
EndIf
|
||||||
|
If FileExists($CmdLine[2]) = 0 Then
|
||||||
|
ConsoleWrite("-1" & @CRLF)
|
||||||
|
Exit -1
|
||||||
|
EndIf
|
||||||
|
$s_temp = FileGetVersion($CmdLine[2])
|
||||||
|
ConsoleWrite($s_temp & @CRLF)
|
||||||
|
Exit
|
||||||
|
EndIf
|
||||||
|
; ##############################################################################################
|
||||||
|
If $CmdLine[1] = "DirGetSize" Then
|
||||||
|
If $CmdLine[0] < 2 Then
|
||||||
|
ConsoleWrite("-1" & @CRLF)
|
||||||
|
Exit -1
|
||||||
|
EndIf
|
||||||
|
If FileExists($CmdLine[2]) = 0 Then
|
||||||
|
ConsoleWrite("-1" & @CRLF)
|
||||||
|
Exit -1
|
||||||
|
EndIf
|
||||||
|
$i_Dateigroesse = DirGetSize($CmdLine[2])
|
||||||
|
ConsoleWrite($i_Dateigroesse & @CRLF)
|
||||||
|
Exit $i_Dateigroesse
|
||||||
|
EndIf
|
||||||
|
; ##############################################################################################
|
||||||
|
If $CmdLine[1] = "DirExists" Then
|
||||||
|
If $CmdLine[0] < 2 Then
|
||||||
|
ConsoleWrite("-1" & @CRLF)
|
||||||
|
Exit -1
|
||||||
|
EndIf
|
||||||
|
If FileExists($CmdLine[2]) = 0 Then
|
||||||
|
ConsoleWrite("0" & @CRLF)
|
||||||
|
Else
|
||||||
|
ConsoleWrite("1" & @CRLF)
|
||||||
|
EndIf
|
||||||
|
Exit 0
|
||||||
|
EndIf
|
||||||
|
; ##############################################################################################
|
||||||
|
If StringLeft($CmdLine[1], StringLen("FileCountSize=")) = "FileCountSize=" Or StringLeft($CmdLine[1], StringLen("#FileCountSize=")) = "#FileCountSize=" Then
|
||||||
|
If $CmdLine[0] > 2 Then
|
||||||
|
$s_Suchmuster = $CmdLine[3]
|
||||||
|
EndIf
|
||||||
|
If $s_Suchmuster = "--verbose" Then
|
||||||
|
$s_Suchmuster = "*"
|
||||||
|
EndIf
|
||||||
|
If StringLeft($CmdLine[1], 1) = "#" Then
|
||||||
|
$i_DateiSuchGroesse = Int(StringReplace($CmdLine[1], "#FileCountSize=", ""))
|
||||||
|
$b_Inverse = True
|
||||||
|
If $b_Verbose = True Then
|
||||||
|
ConsoleWrite("Suche Dateien die kleiner sind als ")
|
||||||
|
EndIf
|
||||||
|
Else
|
||||||
|
$i_DateiSuchGroesse = Int(StringReplace($CmdLine[1], "FileCountSize=", ""))
|
||||||
|
$b_Inverse = False
|
||||||
|
If $b_Verbose = True Then
|
||||||
|
ConsoleWrite(_ANSI2OEM("Suche Dateien die größer sind als "))
|
||||||
|
EndIf
|
||||||
|
EndIf
|
||||||
|
_VerboseConsoleWrite($i_DateiSuchGroesse & " Bytes")
|
||||||
|
If $CmdLine[0] < 2 Then
|
||||||
|
ConsoleWrite("-1" & @CRLF)
|
||||||
|
Exit -1
|
||||||
|
EndIf
|
||||||
|
$s_Path = $CmdLine[2]
|
||||||
|
If StringRight($s_Path,1) <> "\" Then
|
||||||
|
$s_Path = $s_Path & "\"
|
||||||
|
EndIf
|
||||||
|
$i_Zaehler = 0
|
||||||
|
If StringInStr(FileGetAttrib($CmdLine[2]), "D") > 0 Then
|
||||||
|
$h_suchhandle = FileFindFirstFile($s_Path & $s_Suchmuster)
|
||||||
|
While @error <> 1
|
||||||
|
$s_temp = FileFindNextFile($h_suchhandle)
|
||||||
|
If @error = 1 Then
|
||||||
|
ExitLoop
|
||||||
|
EndIf
|
||||||
|
If StringInStr(FileGetAttrib($s_temp), "D") = 0 Then
|
||||||
|
If $b_Inverse = False Then
|
||||||
|
If FileGetSize($s_Path & $s_temp) >= $i_DateiSuchGroesse Then
|
||||||
|
_VerboseConsoleWrite("Treffer : " & $s_temp & " : " & FileGetSize($s_Path & $s_temp) & " >= " & $i_DateiSuchGroesse)
|
||||||
|
$i_Zaehler = $i_Zaehler + 1
|
||||||
|
Else
|
||||||
|
_VerboseConsoleWrite("zu klein : " & $s_temp & " : " & FileGetSize($s_Path & $s_temp) & " < " & $i_DateiSuchGroesse)
|
||||||
|
EndIf
|
||||||
|
Else
|
||||||
|
If FileGetSize($s_Path & $s_temp) <= $i_DateiSuchGroesse Then
|
||||||
|
_VerboseConsoleWrite("Treffer : " & $s_temp & " : " & FileGetSize($s_Path & $s_temp) & " <= " & $i_DateiSuchGroesse)
|
||||||
|
$i_Zaehler = $i_Zaehler + 1
|
||||||
|
Else
|
||||||
|
_VerboseConsoleWrite("zu groß : " & $s_temp & " : " & FileGetSize($s_Path & $s_temp) & " < " & $i_DateiSuchGroesse)
|
||||||
|
EndIf
|
||||||
|
EndIf
|
||||||
|
EndIf
|
||||||
|
WEnd
|
||||||
|
ConsoleWrite($i_Zaehler & @CRLF)
|
||||||
|
FileClose($h_suchhandle)
|
||||||
|
Exit $i_Zaehler
|
||||||
|
Else
|
||||||
|
_VerboseConsoleWrite($CmdLine[2] & " ist kein Verzeichnis!" & @CRLF)
|
||||||
|
_VerboseConsoleWrite(FileGetAttrib($CmdLine[2]) & @CRLF)
|
||||||
|
ConsoleWrite("-1" & @CRLF)
|
||||||
|
FileClose($h_suchhandle)
|
||||||
|
Exit -1
|
||||||
|
EndIf
|
||||||
|
EndIf
|
||||||
|
; ##############################################################################################
|
||||||
|
If StringLeft($CmdLine[1], StringLen("FileCountAge=")) = "FileCountAge=" Or StringLeft($CmdLine[1], StringLen("#FileCountAge=")) = "#FileCountAge=" Then
|
||||||
|
If $CmdLine[0] > 2 Then
|
||||||
|
$s_Suchmuster = $CmdLine[3]
|
||||||
|
EndIf
|
||||||
|
If $s_Suchmuster = "--verbose" Then
|
||||||
|
$s_Suchmuster = "*"
|
||||||
|
EndIf
|
||||||
|
If StringLeft($CmdLine[1], 1) = "#" Then
|
||||||
|
$i_DateiSuchAlter = Int(StringReplace($CmdLine[1], "#FileCountAge=", ""))
|
||||||
|
$b_Inverse = True
|
||||||
|
Else
|
||||||
|
$i_DateiSuchAlter = Int(StringReplace($CmdLine[1], "FileCountAge=", ""))
|
||||||
|
$b_Inverse = False
|
||||||
|
EndIf
|
||||||
|
;ConsoleWrite("Dateisuchgroesse = '" & $i_DateiSuchAlter & "'" & @CRLF)
|
||||||
|
If $CmdLine[0] < 2 Then
|
||||||
|
ConsoleWrite("-1" & @CRLF)
|
||||||
|
Exit -1
|
||||||
|
EndIf
|
||||||
|
$s_Path = $CmdLine[2]
|
||||||
|
If StringRight($s_Path,1) <> "\" Then
|
||||||
|
$s_Path = $s_Path & "\"
|
||||||
|
EndIf
|
||||||
|
$i_Zaehler = 0
|
||||||
|
If StringInStr(FileGetAttrib($CmdLine[2]), "D") > 0 Then
|
||||||
|
$h_suchhandle = FileFindFirstFile($s_Path & $s_Suchmuster)
|
||||||
|
While @error <> 1
|
||||||
|
$s_temp = FileFindNextFile($h_suchhandle)
|
||||||
|
If @error = 1 Then
|
||||||
|
ExitLoop
|
||||||
|
EndIf
|
||||||
|
If StringInStr(FileGetAttrib($s_temp), "D") = 0 Then
|
||||||
|
$a_dateizeit = FileGetTime($s_Path & $s_temp, 1) ; 1 = erstellt
|
||||||
|
; Das Array ist ein 1-dimensionales Array, das sechs Elemente enthält:
|
||||||
|
; $array[0] = Jahr (vierstellig)
|
||||||
|
; $array[1] = Monat (Bereich: 01 - 12)
|
||||||
|
; $array[2] = Tag (Bereich: 01 - 31)
|
||||||
|
; array[3] = Stunden (Bereich: 00 - 23)
|
||||||
|
; $array[4] = Minuten (Bereich: 00 - 59)
|
||||||
|
; $array[5] = Sekunden (Bereich: 00 - 59)
|
||||||
|
; Es ist zu beachten, dass die Rückgabewerte bei Bedarf mit Nullen aufgefüllt sind.
|
||||||
|
$i_Sekunden = _DateDiff("s", $a_dateizeit[0] & "/" & $a_dateizeit[1] & "/" & $a_dateizeit[2] & " " & $a_dateizeit[3] & ":" & $a_dateizeit[4] & ":" & $a_dateizeit[5], _NowCalc())
|
||||||
|
If $b_Inverse = False Then
|
||||||
|
If $i_Sekunden >= $i_DateiSuchAlter Then
|
||||||
|
_VerboseConsoleWrite("Treffer : " & $s_temp & " : " & $i_DateiSuchAlter & " <= " & $i_Sekunden)
|
||||||
|
$i_Zaehler = $i_Zaehler + 1
|
||||||
|
Else
|
||||||
|
_VerboseConsoleWrite("zu neu : " & $s_temp & " : " & $i_DateiSuchAlter & " > " & $i_Sekunden)
|
||||||
|
EndIf
|
||||||
|
Else
|
||||||
|
If $i_Sekunden <= $i_DateiSuchAlter Then
|
||||||
|
_VerboseConsoleWrite("Treffer : " & $s_temp & " : " & $i_DateiSuchAlter & " <= " & $i_Sekunden)
|
||||||
|
$i_Zaehler = $i_Zaehler + 1
|
||||||
|
Else
|
||||||
|
_VerboseConsoleWrite("zu alt : " & $s_temp & " : " & $i_DateiSuchAlter & " > " & $i_Sekunden)
|
||||||
|
EndIf
|
||||||
|
EndIf
|
||||||
|
EndIf
|
||||||
|
WEnd
|
||||||
|
ConsoleWrite($i_Zaehler & @CRLF)
|
||||||
|
FileClose($h_suchhandle)
|
||||||
|
Exit $i_Zaehler
|
||||||
|
Else
|
||||||
|
_VerboseConsoleWrite($CmdLine[2] & " ist kein Verzeichnis!")
|
||||||
|
_VerboseConsoleWrite(FileGetAttrib($CmdLine[2]))
|
||||||
|
ConsoleWrite("-1" & @CRLF)
|
||||||
|
FileClose($h_suchhandle)
|
||||||
|
Exit -1
|
||||||
|
EndIf
|
||||||
|
EndIf
|
||||||
|
|
||||||
|
; ##############################################################################################
|
||||||
|
;~ Case Else
|
||||||
|
ConsoleWrite(_ANSI2OEM("Unbekannter Parameter: " & $CmdLine[1] & @CRLF))
|
||||||
|
Exit 1
|
Loading…
x
Reference in New Issue
Block a user