Kontakt Download Shop Schrift Drucken
Kontakt Download Shop Schrift Drucken

directPRINT/Service

Windows Hot Directory Service

Spezifikation

 Betriebssysteme: Windows NT 4.0, Windows 2000, Windows XP, Windows Vista, Windows 7, Windows Server 2000, Server 2003, Server 2008
 Softwaregattung: Hot Directory Service als Windows Dienst oder Windows Applikation
 Dateisysteme: NTFS, FAT und Netzwerklaufwerke
 Überwachung: Mehrstufige Überwachung des Dateistatus:
  1. Ausnutzung von schnellen Low-Level Funktionen für NTFS-Laufwerke (Event Handled)
  2. Sichere Dateiüberwachung anhand List - Directory Funktion (Polling) für alle Dateisysteme
  3. Optionale Überwachung des Dateistatus anhand Indexdatei.
Hoher Datendurchsatz für lokale NTFS-Laufwerke, da keine Timeouts verwendet werden.
 Verzeichnisse: Gleichzeitige Überwachung mehrerer Verzeichnisse ohne Einbußen in der Performance. Für jedes Verzeichnis können abhängig vom Dateityp unterschiedliche Programme aufgerufen werden.
 Aktionen: Abhängig vom Rückgabewert des Programmes können die verarbeiteten Dateien gelöscht werden. Optional können bei Rückgabe eines Fehlercodes die betroffenen Dateien in ein Fehlerverzeichnis zur weiteren Untersuchung durch den Operator kopiert werden.
 Ereignisprotokoll: Alle Fehlerzustände werden im Windows - Ereignisprotokoll vermerkt. Es werden keine Fehlerdialoge geöffnet. Das Fehlerprotokoll kann administrativ über das Netzwerk mit der Windows - Anwendung "eventvwr.exe" eingesehen werden.

Steuerung durch die Kommandozeile

Das Programm dcp32.exe besitzt folgende Parameter in der Kommandozeile:

   dcp32 [/START | /STOP | /RESET | /INSTALL | /UNINSTALL]

Parameter Beschreibung
 /START Startet die Überwachung. Wurde die Überwachung als Windows-Dienst konfiguriert, wird der Dienst gestartet und das Programm beendet. Wurde die Überwachung als Windows-Applikation definiert, wird die Überwachung gestartet. Die gestartete Applikation wird jedoch nicht beendet, solange die Überwachung durchgeführt wird. Im Windows Tray (neben der Uhr in der Startleiste) wird ein Symbol angezeigt.
 /STOP Beendet die Überwachung, falls diese als Dienst gestartet wurde. Eine Überwachung als Applikation kann derzeit nicht über die Kommandozeile gestoppt werden. Falls die Überwachung als Dienst konfiguriert wurde, wird das Programm beendet.
 /RESET Löscht alle gespeicherten Daten der Indexdatei. Dateien, deren Dateistatus zuvor in der Indexdatei enthalten waren, werden neu bearbeitet.
 /INSTALL Installiert den Windows - Dienst erneut. Diese Option kann verwendet werden, falls wärend der Installation ein Fehler aufgetreten ist und der Windows - Dienst nicht gestartet werden kann.
 /UNINSTALL Deinstalliert den Windows - Dienst. Nach der Deinstallation kann der gleiche Dienst für einen gewissen Zeitraum nicht erneut installiert werden.

Aufbau der Konfigurationsdatei

Die Konfiguration wird vollständig in einer ASCII-Datei vorgenommen. Die Datei verwendet das bekannte INI-Format und kann z.B. mit Notepad.exe editiert werden. Die Datei ist in verschiedene Abschnitte (Sektionen) unterteilt.

Um die Konfigurationsdatei zu öffnen:

  • Starten Sie directPRINT Service
  • Wählen Sie "Datei - Einstellungen..."

Sie erhalten Notepad mit der geladenen Konfigurationsdatei.

Der Abschnitt [SETUP]

Diese Sektion enthält globale Parameter, die für alle Überwachungspunkte gelten.

Parameter Beschreibung
LOGLEVEL = <enum> Filtert die Fehlermeldungen die in das Windows- Systemlog geschrieben werden. Sie können hiermit steuern, wie genau der Programmstatus im Fehlerlog angegeben werden soll. Gültige Werte für <enum> sind:
<enum> Beschreibung
SUCCESS Alle Meldungen anzeigen
WARNING Warnungen und Fehler anzeigen
ERROR Nur Fehler Anzeigen
EXTRASCANTIME = # Der Intervall in Sekunden in der die Verzeichnisse nach übersehenden Dateien abgesucht werden sollen. Dies ist ein integriertes Sicherungssystem, dass bekannte Probleme des Windows - internen Dateisysteme abfängt. Bei hoher Systemlast oder inkompatiblen Netzwerklaufwerken (z.B. Samba) können u.U. Dateiänderungen übersehen werden. Die überwachten Verzeichnisse werden deshalb zusätzlich in einem Intervall nach Änderungen durchsucht. Beachten Sie, dass ein kürzerer Intervall die Netzwerklast signifikant erhöht.

Der Abschnitt [ENVIRONMENT]

Diese Sektion enthält eine Reihe frei definierbarer Parameter, die in den folgenden Definitionen als Textbausteine verwendet werden können. Alle Zeilen haben das Format:

Parameter Beschreibung
NAME = WERT Die Parameter des Environments können bei allen Pfad- und Programmangaben der folgenden Sektionen mit %NAME% verwendet werden. Der String %NAME% % wird dann durch WERT ersetzt. Verwenden Sie das Environment z.B., um Basisverzeichnisse für Anwendungen und Pfade anzugeben.

Der Abschnitt [WATCHPOINTS]

Geben Sie in dieser Sektion die zu überwachenden Verzeichnisse an. Jede Zeile besitzt das Format:

Parameter Beschreibung
WPSECTION = PATH,ACTIONSECTION,...
Parameter Beschreibung
WPSECTION Frei wählbarer Sektionsname für die Parameter dieses Überwachungspunktes.
PATH Der zu überwachende Pfad. Es können die Parameter aus der Sektion [ENVIRONMENT] verwendet werden. Schließen Sie diesen Parameter zu Sicherheit in "doppelte Anführungszeichen" ein, falls der Pfadname das Komma enthält.
ACTIONSECTION Frei wählbarer Sektionsname für die Parameter der Aktion. Es können mehrere Sektionsnamen angegeben werden. Trennen Sie diese durch das Komma. Werden mehrere Aktionen angeben, wird die erste Aktion ausgeführt, auf die der Dateiname passt.
Beachten Sie: Jedes zu überwachende Verzeichnis benötigt Systemresourcen.
Beispiel:
WatchPoint1 = c:\MySpooler\HotDir1,Action1

Der Abschnitt [WPSECTION]

Der Name WPSECTION dieser Sektion ist ein Platzhalter und frei wählbar. Er muss einem Sektionsnamen in der Sektion [WATCHPOINTS] entsprechen. Diese Sektion legt fest, wie Verzeichnis zu überwachen ist.

Parameter Beschreibung
DELETEFILES = <number> Steuert wie die Dateien im überwachten Verzeichnis nach der Bearbeitung gelöscht werden sollen. Sollen die Dateien nach der Verarbeitung nicht gelöscht werden und langfristig im überwachten Verzeichnis verbleiben, so sollte die Option FileHistory=1 aktiviert werden.
<number> Beschreibung
0 Ist dieser Parameter nicht vorhanden oder 0, werden keine Dateien gelöscht.
1 Dateien werden nach Ende des aufgerufenen Programmes gelöscht.
2 Die Dateien werden auf jeden Fall gelöscht, auch wenn sie schreibgeschützt sind oder zum Löschzeitpunkt durch eine Anwendung blockiert sind.
ERRORFILES = <path> Geben Sie diesen Parameter an, falls Dateien in ein Verzeichnis verschoben oder kopiert werden sollen, sobald das aufgerufene Programm mit einem Fehlercode beendet
Ersetzen Sie <path> durch ein gültiges lokales Verzeichnis. Haben Sie die Option DeleteFiles (s.o.) aktiviert, werden fehlerhaft bearbeitete Dateien in das Verzeichnis verschoben. Haben Sie die Option DeleteFiles nicht aktiviert, werden fehlerhaft bearbeitete Dateien in das Verzeichnis kopiert. Die originale Datei bleibt in jedem Fall erhalten.
Wird der Parameter ErrorFiles nicht angegeben, wird die Datei im Fehlerfall nicht verschoben bzw. kopiert.
Beispiel:
ErrorFiles = c:\MySpooler\Errors
WRITEDELAY = <number> Verzögert die Bearbeitung von neuen Dateien um die in <number> angegebenen Millisekunden (ms). Jeder erneute Schreibzugriff auf die Datei verlängert das Warteintervall. Einige Anwendungen wie der Microsoft IIS FTP-Dienst schließen und öffnen Dateien bei der Erstellung mehrfach. Über das Warteintervall kann die Weiterverarbeitung verzögert werden. Wird die Option FileHistory verwendet, sollte als WriteDelay ein Wert >= 1000 angegeben werden.
SUBDIRECTORIES=<bool> Gibt an, ob die Überwachung nur für das angegebene Verzeichnis oder auch rekursiv für jedes Unterverzeichnis erfolgen soll.
<bool> Beschreibung
0 Es wird nur das angegebene Verzeichnis überwacht.
1 Es wird das angegebene Verzeichnis und alle Unterverzeichnisse überwacht.
FILEHISTORY=<bool> Aktiviert die permanente Speicherung des Dateistatus in einer Indexdatei. Verwenden Sie diese Option, wenn die Dateien im überwachten Verzeichnis nach der Verarbeitung nicht gelöscht und langfristig im Verzeichnis verbleiben sollen. Sinnvollerweise sollte die Option DeleteFiles=0 angegeben werden. Bei aktivierter Option wird das letzte Schreibdatum und die letzte Dateigröße jeder gefundenen Datei in einer permanenten Indexdatei vorgehalten. So wird z.B. bei einem Neustart des Dienstes vermieden, dass bereits bearbeitete Dateien erneut bearbeitet werden. Wird die Datei verändert, so wird die konfigurierte Verarbeitungsroutine erneut aufgerufen.
Da bei einer großen Anzahl Dateien der Zugriff auf die Indexdatei etwas Zeit benötigt, sollte in der Option "WriteDelay=1000" oder mehr angegeben werden.
Die Indexdateien "filehistory.dat" und "filehistory.idx" werden automatisch bei erster Verwendung der Option im Programmverzeichnis erzeugt. Werden die Indexdateien gelöscht, werden alle im überwachten Verzeichnis enthaltenen Dateien erneut verarbeitet. Die Indexdateien können mit dem Befehl "dcp32 /RESET" gelöscht werden.

Der Abschnitt [ACTIONSECTION]

Der Name der ACTIONSECTION dieser Sektion ist ein Platzhalter und frei wählbar. Er muss einem Sektionsnamen in der Sektion [WATCHPOINTS] entsprechen. Diese Sektion legt fest, was bei einer gefundenen neuen Datei geschehen soll (Aktion).

Parameter Beschreibung
DESCRIPTION = <text> Legt eine Beschreibung für die Aktion fest. Ersetzen Sie <text> durch Ihre Beschreibung. Der Text wird bei Fehlermeldungen im Ereignisprotoll verwendet. Beispiel:
Description = Grafikdateien drucken
FILESPEC = <spec>,... Legt die Dateiendungen fest, die die aufgerufene Anwendung unterstützt. Ersetzten Sie <spec> durch eine Dateispezifikation ähnlich den DOS-Wildcards. Es können die Suchzeichen * und ? verwendet werden. Mehrere Spezifikationen können durch das Komma getrennt angegeben werden. Beispiel: FileSpec=*.tif,*.pcx,*.gif
WORKDIR = <path> Legt das aktuelle Laufwerk und Verzeichnis fest, in dem die Anwendung ausgeführt wird. Ersetzen Sie <path> durch einen gültigen Pfad ohne abschließendes Backslash. Beispiel:
WorkDir = c:\temp\long path
APPLICATION = <path> Legt die aufgerufene Applikation fest. Ersetzen Sie <path> durch den Dateinamen und Pfad der aufgerufenen Anwendung. Sie können die im Environment angegebenen Platzhalter verwenden. Beispiel:
Application = c:\programme\directtools\directprint.exe
PARAMETERS = <params> Legt die Aufrufparameter (Kommandozeile) der gestarteten Anwendung fest. Im Aufrufparameter <params> können Platzhalter verwendet werden, um den Dateiname der im überwachten Verzeichnis gefundenen Datei zu übergeben.Folgende Platzhalter sind möglich:
Makro Beschreibung Beispiel
%1 Kompletter Dateiname mit Pfad c:\long path\abc 1.tif
%2 Dateiname ohne Pfad abc 1.tif
%3 Dateiname ohne Pfad und ohne Namenserweiterung (Extension) abc 1
%4 Pfad der Datei c:\long path
%5 Namenserweiterung (Extension) der Datei .tif
%6 Kurzer Dateiname mit Pfad c:\long~1\abc~1.tif
%7 Kurzer Dateiname ohne Pfad abc~1.tif
%name% Name einer beliebigen Variable, die durch eine Skript erstellt wurde.  
%FILECOUNT%
%FILECOUNT3%
%FILECOUNT6%
Globaler Dateizähler, zählt alle Dateien in allen Verzeichnissen, ohne führende Null, 3- oder 6-stellig 5
005
000005
%DIRFILECOUNT%
%DIRFILECOUNT3%
%DIRFILECOUNT6%
Dateizähler für das überwachten Verzeichnis, ohne führende Null, 3- oder 6-stellig 3
003
000003
%HASH% Eindeutige Dateikennung, 8 stellig 0034AB47
%YY% Jahr, zweistellig 08
%YYYY% Jahr, vierstellig 2008
%MM% Monat, zweistellig 04
%DD% Tag, zweistellig 01
%HH% Stunde, zweistellig 07
%NN% Minute, zweistellig 59
%SS% Sekunde, zweistellig 59
%ZZZ% Millisekdune, dreistellig 999

Kurze Dateinamen: Falls Sie kurze Dateinamen zum Kopieren von Dateien verwenden, beachten Sie bitte, dass ein kurzer Dateiname ohne Pfad die Datei in einem anderen Verzeichnis oder Laufwerk nicht mehr eindeutig bezeichnet.

SCRIPT = <section> Gibt optional den Sektionsnamen mit einem Script an. Das Script wird vor dem Programmaufruf ausgeführt und kann dazu verwendet werden, die Aufrufparameter anzupassen.
SHOWSTATE = <number> Legt die Anzeige des aufgerufenen Programmes auf dem Desktop fest.
<number> Beschreibung
0 Keine Anzeige. Die Anwendung wird versteckt. Falls Sie die Überwachung als Dienst ausführen, sollten Sie diese Einstellung wählen.
1 Normale Anzeige. Die Anwendung wird als oberste Anwendung auf dem Desktop angezeigt.
2 Minimierte Anzeige. Die Anwendung wird minimiert auf dem Desktop dargestellt.
3 Normale inaktive Anzeige. Die Anwendung wird normal auf dem Desktop angezeigt, ohne die aktive Anwendung zu unterbrechen. Evtl. ist das Fenster der gestarteten Anwendung von anderen Fenstern verdeckt.

Skripte ausführen

Scripte werden vor jedem Programmaufruf ausgeführt und können Parameter im Environment verändert und neu setzen. Das Environment ist der Namensraum der %NAME% - Variablen, aus denen ein Programmaufruf zusammengesetzt werden kann.

Skripte bieten Ihnen somit die Möglichkeit, komplexe Parameter zu extrahieren und an die folgende Anwendung zu übergeben.

Das Script wird in einer eigenen Sektion mit beliebigen Namen erstellt. Der Sektionsname wird im Parameter SCRIPT einer Aktion in der Sektion [ACTIONSECTION] zugeordnet. Scripte, die nicht zugeordnet sind, werden auch nicht ausgeführt. Ein Script wird immer zeilenweise von oben nach unten ausgeführt.

Bei der Auswertung von Texten können komplexe Such- und Ersetzungsmuster, sogenannte Reguläre Ausdrücke verwendet werden.

Syntax Extract - Befehl

EXTRACT <name> = <value>,<match>,<regexpr>
Parameter Beschreibung
<name> Name einer Environment - Variablen, in der das Ergebnis abgelegt wird.
<value> Der durchsuchender String. Befinden sich in <value> Parameter, so werden diese durch den aktuellen Parameterwert im Environment ersetzt.
<match> Index des gefundenen Teilausdruckes in <regexpr>. Ein Teilausdruck im Regulären Ausdruck wird durch eine runde Klammerung (...) definiert. <match> gibt also die von 1 aufwärts zählende Klammerung an. Wird 0 angegeben, wird der gesamte gefundene Ausdruck zurückgegeben.
<regexpr> Ein Reguläre Ausdruck. Verwenden Sie das Programm "RexTutor.exe", um Ihren Regulären Ausdruck vorher zu testen.

Beispiel:

Aus einem Dateinamen soll der mit einem Punkt separierte Teilstring vor der Dateiextension extrahiert werden. Der Dateiname steht in der Variable %1 zur Verfügung. Der Dateiname lautet z.B. "c:\pfad\langer pfad\afilename.searched-string.prn". Um den Text "searched-string" in die Variable "astring" zu übernehmen:

  EXTRACT astring = %1,1,.*\.(.*)\.prn$

Syntax Zuweisung =

  <name> = <value>

Weist der Environment - Variable mit Namen <name> den neuen Wert <value> zu. Befinden sich in <value> Parameter (%NAME%), so werden diese durch den aktuellen Parameterwert im Environment ersetzt.

Syntax IFMATCH - Befehl

  IFMATCH <value> = <regexpr>

Sucht in <value> den ersten Teilausdruck (die erste runde Klammer). Falls der Suchausdruck zutreffend ist, wird der erste Teilausdruck der Variable <value> zugewiesen. Trifft der Suchausdruck nicht zu, wird <value> nicht verändert. Im <regexpr> muss mindestens ein Teilausdruck (runde Klammern) enthalten sein. Vor dem IFMATCH - Befehl sollte ein EXTRACT - Befehl oder eine Zuweisung (=) angegeben werden.

Minimale Installation, Einbindung in Applikationen

Die Installation von directPRINT/Service erfordert das Kopieren der folgenden Programmdateien in ein beliebiges Verzeichnis:

  • "dcp32.exe" - die Programmdatei
  • "dcpsvr.exe" - der Windows - Dienst
  • "dcp32.chm" - die Hilfe-Datei
  • "dcpsvr.ini" - die Konfigurationsdatei

Zur Registration des Dienstes muss einmalig der folgende Aufruf erfolgen: "dcp32.exe /INSTALL".

Barcodes im Griff
Mit directBAR haben Sie alle Standard Barcodes fest im Griff. Mit nur wenigen Klicks haben Sie Ihren Barcode erstellt und können ihn z.B. sofort über die Zwischenablage in Ihr Word-Dokument importiert. Mehr...
Mit DOS Programmen drucken?
Ältere MS-DOS Programme sind an vielen Stellen immer noch nicht wegzudenken. Allerdings sind kaum noch Drucker erhältlich, die die älteren Druckformate richtig unterstützen. Mit directESC können Sie die Druckdaten von Programmen die z.B. Epson ESC/P und IBM ProPrinter unterstützen auf modernen USB-Druckern ausgeben. Mehr...
Bilder per Mail senden?
Mit directVIEW können Sie nun ganz leicht Bilder per E-Mail versenden. Dabei achtet directVIEW immer auf das richtige Bildformat und wählt für Sie die optimale Komprimierung aus. Richtig praktisch sind die druckbaren HTML E-Mails. Dabei sieht der Empfänger das Bild sofort in seinem E-Mail Programm, ohne dass er die Datei öffnen muss. Mehr...
Neu: directCONVERT 4.0
Mit directCONVERT 4 setzen wir neue Maßstäbe. Das Konvertieren beliebiger Dokumente nach TIFF, PCX, BMP, JPEG und GIF ist mit dem integrierten Ausgangskorb noch einfacher geworden. Unterstützt werden Microsoft Windows 2000, Windows XP, Windows Vista und Windows 7. Mehr...
powered by m-sys.de
Keywords: Directory, NTFS, Hot, Service, directPRINT/Service, Ereignisprotokoll, NT, XP, daemon, Dienst, Event, eventvwr, FAT directory ntfs