Posts mit dem Label Script werden angezeigt. Alle Posts anzeigen
Posts mit dem Label Script werden angezeigt. Alle Posts anzeigen

Montag, 14. Dezember 2015

WDDirSplit - kostenloses Zusatzprogramm zum Aufsplitten von Verzeichnisnamen


 

WDDirSplit - kostenloses Zusatzprogramm


 Es gibt von Zeit zu Zeit die Anforderung, aus dem Pfad der erkannten Datei einzelne Elemente herauszulesen und diese z. Bsp. zum Erzeugen eines Zielkopierpfades oder des Dateinamens zu verwenden.

Hierzu haben wir ein Zusatzprogramm verfügbar, das in Verbindung mit dem Plugin ".bat-Dateien ausführen" jedes einzelne Element eines Pfades ausliest und in einzelnen Variablen schreibt. Mit diesen Variablen kann man dann den neuen Dateipfad zusammenbauen.

    Beispiel eines Aufrufs:
    "C:\program files (x86)\WDDirSplit.exe" "C:\ein\pfad\der\aufgeteilt\werden\soll.txt" "C:\temp\steuerdatei.bat"
    Call "C:\temp\steuerdatei.bat"
    Del "C:\temp\steuerdatei.bat"
    
    Mit diesem Aufruf wird WDDirplit.exe angewiesen, die nachfolgende Angabe zwischen den \ aufzusplitten und in die Datei c:\temp\steuerdatei.bat zu schreiben. Diese wird dann aufgerufen, um die eben erzeugten Variablen in der aktuellen cmd verfügbar zu machen.
    Der automatisch erzeugte Inhalt der steuerdatei.bat würde dann so aussehen:
    rem How many components were found in path "C:\ein\pfad\der\\aufgeteilt\werden\soll.txt"
    SET WD_DP_COUNT=6
    rem WD_DP_1 has the first component ("ein"), WD_DP_2 the second...
    SET WD_DP_1=ein
    SET WD_DP_2=pfad
    SET WD_DP_3=der
    SET WD_DP_4=aufgeteilt
    SET WD_DP_5=werden
    SET WD_DP_5=soll.txt
    rem WD_DPR_1 has the last component ("soll.txt"), WD_DPR_2 the one before it..(R=Reversed)
    SET WD_DPR_1=soll.txt
    SET WD_DPR_2=werden
    SET WD_DPR_3=aufgeteilt
    SET WD_DPR_4=der
    SET WD_DPR_5=pfad
    SET WD_DPR_6=ein
    rem For conveniance: WD_DP_FIRST and WD_DP_LAST
    SET WD_DP_FIRST=ein
    SET WD_DP_LAST=soll.txt
    
    Hiermit lässt sich jetzt in einer .bat-Datei z. Bsp. ein xcopy-Befehl verwenden. Das Script kann also so aussehen, wenn die erkannte Datei "C:\ein\pfad\der\aufgeteilt\werden\soll.txt" (= Variable "%WD_FILE%") ist:
    rem lets split
    "C:\program files (x86)\WDDirSplit.exe" "%WD_FILE%" "C:\temp\steuerdatei.bat"
    
    rem call the temp bat file to get the created variables
    Call "C:\temp\steuerdatei.bat"
    Del "C:\temp\steuerdatei.bat"
    
    rem copy to target
    xcopy "%WD_FILE%" "c:\archiv\%WD_DP2%\%WD_DP4%\%WD_DP6%"
    
    Dieser Befehl würde die Datei soll.txt nach c:\archiv\pfad\aufgeteilt\soll.txt kopieren.


    Download der WDDirSplit.exe:
    http://www.watchdirectory.net/beta/WDDirSplit.zip

    Montag, 23. Februar 2015

    WatchDirectory: nach dem Druck einer pdf möchte ich....


    WatchDirectory kann pdf-Dateien automatisch ausdrucken. Hierzu wird in den pdf-Plugins (pdf ausdrucken mit Acrobat, pdf ausdrucken mit Foxit, ..) eine kleine Scriptdatei aufgerufen, die die pdf-Datei an den pdf-Viewer übergibt und den Ausdruck steuert. In dieser Script-Datei können weitere Aktionen definiert werden.

    Wo finde ich die Scriptdatei?

    Die Scriptdatei, mit der die Ausdrucke gesteuert werden, findet man, indem man bei geöffnetem WatchDirectory Control-Center die Tasten STRG+9 drückt und dann eine Ebene tiefer in den Ordner mit dem Namen der entsprechenden Aufgabe navigiert. Dort liegt die Scriptdatei "wd.bat".

    Wie bearbeite ich die Scriptdatei?

    Um die Scriptdatei zu bearbeiten, sollte zunächst die Aufgabe an sich beendet sein. Danach klickt man mit der rechten Maustaste auf die Datei "wd.bat" und wählt im Kontextmenü "bearbeiten" oder "Öffnen mit" und wählt den "Editor" (Notepad.exe) aus.

    Was kann ich in der Scriptdatei ändern?

    Nach dem Druck der pdf-Datei kann die Datei z. Bsp. automatisch verschoben, kopiert, umbenannt oder gelöscht werden. Dazu fügt man am Ende der Scriptdatei einen Befehl ein. Der Befehl wird in die vorletzte Zeile vor der Zeile mit dem Befehl %ANNOTATE% gesetzt:

    "%FOXCMD%" %OPTIONS% "%WD_FILE%" "%PRINTER%"
    %ANNOTATE% Info done
    

    Beispiele:

    PDF-Datei nach dem Druck löschen:
    "%FOXCMD%" %OPTIONS% "%WD_FILE%" "%PRINTER%"
    DEL "%WD_FILE%"
    %ANNOTATE% Info done
    
    PDF-Datei nach dem Druck verschieben:
    "%FOXCMD%" %OPTIONS% "%WD_FILE%" "%PRINTER%"
    MOVE /Y "%WD_FILE%" "c:\archiv\gedrucktePDF"
    %ANNOTATE% Info done
    
    PDF-Datei nach dem Druck kopieren:
    "%FOXCMD%" %OPTIONS% "%WD_FILE%" "%PRINTER%"
    XCOPY /Y "%WD_FILE%" "c:\archiv\gedrucktePDF"
    %ANNOTATE% Info done
    
    PDF-Datei 2x drucken:
    "%FOXCMD%" %OPTIONS% "%WD_FILE%" "%PRINTER%"
    "%FOXCMD%" %OPTIONS% "%WD_FILE%" "%PRINTER%"
    %ANNOTATE% Info done
    

    Es können in der Scriptdatei alle WatchDirectory Umgebungsvariablen angesprochen werden: http://de.watchdirectory.net/wdhelp/plugins/wdopAutoRunBatEnv_deu.html
    Beim Verschieben oder Kopieren der pdf-Datei ist darauf zu achten, dass der Benutzer, unter dem die Aufgabe läuft, Schreibrechte auf das Zielverzeichnis hat. Wenn die Aufgabe als Windows-Dienst läuft, unbedingt die Erläuterungen zu Windows Diensten und Rechten beachten: http://blog-de.gdpsoftware.com/2009/10/windows-dienste-und-rechte.html

    Montag, 25. Februar 2013

    Bilder (jpg) automatisch ausdrucken

    Wir erhalten immer mal wieder die Kundenanfrage, ob man denn mit WatchDirectory Bilder automatisch ausdrucken kann.
    Dieser Post beschreibt das Vorgehen, um Bilder automatisch ausdrucken zu können.

    WatchDirectory selbst hat kein Plugin, um Bilder direkt ausdrucken zu können. Man kann jedoch das Plugin ".bat-Datei starten" zusammen mit einem kleinen Script und dem kostenlosen Bildbetrachter "IrfanView" ermöglichen. IrfanView kann hier heruntergeladen werden: www.irfanview.de
    Wir empfehlen, auch die dort angebotenen Plugins herunterzuladen und zu installieren.

    Danach verwendet man das WatchDirectory-Plugin ".bat-Datei ausführen" im Reiter "Scripte" und verweist das Plugin im ersten Konfigurationsdialog auf nachfolgendes Script (in Notepad kopieren und als ANSI-Datei mit der Erweiterung .bat oder .cmd speichern).

    In diesem Script sind 2 Zeilen anzupassen:
    SET IMADIR=C:\Program Files (x86)\irfanview
    Hier muss der Pfad zur IrfanView-Installation angegeben werden

    SET PRINTER=\\servername\freigabename
    Hier muss der Drucker angeben werden, entweder als Netzwerkdrucker oder einfach der Name des lokalen Druckers.

    @echo off
    IF "%WD_FILE_E%" NEQ "JPG" (IF "%WD_FILE_E%" NEQ "JPEG" GOTO :EOF)
    
    rem wo ist Irfanview installiert?
    SET IMADIR=C:\Program Files (x86)\irfanview
    
    rem welcher Drucker soll verwendet werden?
    SET PRINTER=\\servername\freigabename
    
    "%IMADIR%\i_view32.exe" "%WD_FILE%" /print="%PRINTER%"
    IF %ERRORLEVEL% NEQ 0 GOTO :EOF
    
    rem wenn die JPG-Datei nach dem Umwandeln entfernt werden soll
    rem in der nächsten Zeile das "rem" entfernen
    rem DEL "%WD_FILE%
    

     

    Dienstag, 12. Januar 2010

    Aufgaben nur zu bestimmten Zeiten ausführen

    Manchmal ergibt sich die Voraussetzung, dass Aufgaben nicht kontinuierlich ausgeführt werden können oder dürfen, z. Bsp. weil während der Wartungsphase ein Server nicht zur Verfügung steht oder es schlicht weg nicht nötig ist.
    In der WatchDirectory Professional-Version steht der WatchDirectory Zeitplanerdienst zur Verfügung, um Aktionen zeitgesteuert auszuführen. Die Besonderheit des Zeitplanerdienstes ist es, dass außerhalb der definierten Zeitspanne die Überwachung NICHT beendet wird, es wird lediglich die Aktion der Aufgabe nicht ausgeführt. Daraus sieht man, dass auch außerhalb der definierten Zeitspannen das überwachte Verzeichnis erreichbar sein muss, da die Aufgabe sich sonst mit einem Fehler beendet.

    Um die Überwachung ganz einzustellen, muss man die Aufgabe beenden. Dies lässt sich je nach Konfiguration automatisieren:

    A) die Aufgabe ist als Windows-Dienst gestartet:
    Jede Aufgabe, die als Windows-Dienst gestartet ist, trägt den Namen watchDirectory:[aufgabenname], wobei [aufgabenname] durch den Namen der jeweiligen Aufgabe zu ersetzen ist. Mit dem DOS-Befehl
    net stop watchDirectory:[aufgabenname] 
    lässt sich der Dienst über die Kommandozeile beenden.
    net start watchDirectory:[aufgabenname]
    startet die Aufgabe wieder.
    Beide Befehle lassen sich eine .bat-Datei schreiben und über die windowseigene
    Funktion "Geplante Tasks" automatisch zu einer bestimmten Uhrzeit oder beim Herunterfahren/Starten ausführen.

    B) die Aufgabe ist normal gestartet (manuell oder im AutoStart-Ordner):
    Hier lässt sich die Aufgabe mit folgendem DOS-Befehl beenden:
    "C:\Programme\watchDirectory\wdrun.exe" -stop [aufgabenname]
    start "Aufgabe1" "C:\Programme\watchDirectory\wdrun.exe" -start [aufgabenname]
    startet die Aufgabe wieder. Der Name "Aufgabe1" ist nur der Titel des DOS-Fensters, es kann an dieser Stelle eine beliebige Zeichenkette verwendet werden. Ggf. muss der Pfad zum Installationsverzeichnis angepasst werden.

    Übrigens:
    Die Befehle lassen sich auch in ein WakeUP/ShutDOWN-Script intergrieren, so dass die Aufgabe beendet wird, wenn der überwachte Server herunterfährt und automatisch startet, wenn der Server wieder online ist.

    [Diesen Posting auf Englisch lesen / Read this post in English]

    Dienstag, 20. Oktober 2009

    PDF auf beliebigem Drucker ausdrucken - mit Acrobat



    Das Plugin "pdf ausdrucken" druckt die pdf-Datei nur auf dem Standarddrucker aus, also dem Drucker, der dem Windowssystem als Standarddrucker bekannt gemacht wurde.
    Oftmals möchte man aber an einem anderen Drucker im Netzwerk ausdrucken, ohne den Standarddrucker zu verändern.

    Und so geht es:
    Man verwendet das Plugin ".bat-Datei starten" zusammen mit einem kleinen Script. Hier die Anleitung von Adobe:

    The DDE command line parameters for Acrobat and Reader are as follows. These are unsupported but have worked for some developers.

    AcroRd32.exe /p filename
    - executes the Reader and prints a file
    AcroRd32.exe /t path printername drivername portname
    - Initiates Acrobat Reader, prints a file while suppressing the Acrobat print dialog box, then terminates Reader.

    The four parameters of the /t option evaluate to path,printername, drivername, and portname (all strings).
    printername - The name of your printer.
    drivername - Your printer driver’s name. Whatever appears in the Driver Used box when you view your printer’s properties.
    portname - The printer's port. portname cannot contain any "/" characters; if it does, output is routed to the default port for that printer.

    Note: If using Acrobat, substitute Acrobat.exe in place of AcroRd32.exe in the command lines.
    The current implementation of WatchDirectory's "Print PDF" plugin passes 2 parameters to Acrobat:
    /p - like above: print the pdf
    /h - undocumented - do not show Acrobat's window while printing

    Und hier das Script, das watchDirectory verwenden kann:
    rem wo ist Acrobat Reader installiert?
    SET ACRO=C:\Programme\Acrobat\Reader\AcroRd32.exe
    SET TIMEOUT=60
    rem wenn der Servername/Druckername keine Leerzeichen enthält,
    rem können die "" entfallen
    SET PRINTER="\\servername\druckername"
    SET GDPU=%WD_INSTDIR%\GdPUtil.exe

    rem Dateityp überprüfen
    IF "%WD_FILE_E%" NEQ "PDF" (
    %ANNOTATE% Warn "Datei wurde nicht gedruckt, nur PDF-Dateien werden gedruckt"
    GOTO :Eof
    )

    "%GDPU%" -runkill %TIMEOUT% "%ACRO%" /t "%WD_FILE%" %PRINTER%
    %ANNOTATE% Info done

    Bei diesem Script unbedingt den Speicherort der Acrobat-Startdatei und den Druckernamen anpassen!

    Adobe® und Acrobat® sind eingetragene Warenzeichen von Adobe.

    [Diesen Posting auf Englisch lesen / Read this post in English]

    TIFF in PDF wandeln


    Eine der häufigsten Kundenanfragen bezieht sich auf das automatische Umwandeln von tiff-Dateien (oder anderen Rasterbildformaten) in das pdf-Format mit watchDirectory.



    Hierzu gibt es 2 Möglichkeiten:


    Mit IrfanView, den IrfanViewPlugins und dem Plugin ".bat-Datei ausführen". IrfanView und die IrfanViewPlugins kann hier heruntergeladen werden: IrfanView
    Hier das Script:
    @echo off
    IF "%WD_FILE_E%" NEQ "TIF" (IF "%WD_FILE_E%" NEQ "TIFF" GOTO :EOF)
    
    rem wo ist Irfanview installiert?
    SET IMADIR=C:\Programme\irfanview
    
    "%IMADIR%\i_view32.exe" "%WD_FILE%" /convert="%WD_FILE_D%\%WD_FILE_B%.pdf"
    IF %ERRORLEVEL% NEQ 0 GOTO :EOF
    
    rem wenn die TIF-Datei nach dem Umwandeln entfernt werden soll
    rem in der nächsten Zeile das "rem" entfernen
    rem DEL "%WD_FILE%

    Je nach Einstellung kann es vorkommen, dass sich bei der Auführung des Scriptes ein Fenster öffnet, bei dem PDF-Einstellungen für die Zieldatei abgefragt werden. Dies stört natürlcih den automatischen Ablauf der PDF-Speicherung. Dummerweise lässt sich das Erscheinen dieses Dialogs in diesem Moment nicht abschalten.
    Um den Dialog dauerhaft abzuschalten, muss man einmalig den IrfanView normal als GUI starten, dort eine Bilddatei öffnen und diese als PDF abspeichern. Nun erscheint erneut der Dialog zu den PDF-Einstellungen, diesesmal aber mit dem Reiter "Allgemein". Dort muss man einmalig den Punkt "nicht notwendig" wählen, danach lassen sich die PDF-Dateien per Script mit WatchDirectory automatisiert erzeugen.

     





    ImageMagick und Ghostscript mit dem Plugin ".bat-Datei ausführen"
    ImageMagick benötigt Ghostscript für diese Funktion; Ghostscript muss separat heruntergeladen und installiert werden.

    Downloads:
    ImageMagick http://www.imagemagick.org/script/binary-releases.php#windows
    Ghostscript http://mirror.switch.ch/ftp/mirror/ghost/GPL/gs863/


    Hier das Script:
    @echo off
    IF "%WD_FILE_E%" NEQ "TIF" (
    IF "%WD_FILE_E%" NEQ "TIFF" GOTO :EOF
    )
    rem wo ist ImageMagick installiert?
    SET IMADIR=C:\Program Files\ImageMagick-6.5.1-Q16
    
    "%IMADIR%\convert.exe" "%WD_FILE%" "%WD_FILE_D%\%WD_FILE_B%.pdf"
    IF %ERRORLEVEL% NEQ 0 GOTO :EOF
    
    rem wenn die TIF-Datei nach dem Umwandeln entfernt werden soll
    rem in der nächsten Zeile das "rem" entfernen
    rem DEL "%WD_FILE%"

    [Diesen Posting auf Englisch lesen / Read this post in English]

    pdf-Dateien auf beliebigem Drucker ausdrucken - ohne Acrobat


    Das Plugin "pdf-Datei ausdrucken" druckt die pdf-Dokumente mithilfe des kostenlosen Adobe Acrobat Readers. Wenn man aber über einen Drucker verfügt, der PostScript ab Level 3 unterstützt, so lässt sich das pdf-Dokument auch ohne Acrobat Reader ausdrucken:




    Man verwendet das Plugin ".bat-Datei ausführen" zusammen mit diesem Script:

    rem Ueberpruefung auf pdf-Dateien
    IF "%WD_FILE_E%" NEQ "PDF" GOTO :EOF
    rem nur das Ereignis FILENEW wird verwendet
    IF "%WD_REASON%" NEQ "FILENEW" GOTO :EOF
    rem Datei zum Drucker auf Server "Server" und Port "raw" senden
    LPR -S server -P raw "%WD_FILE%"

    In der letzten Zeile muss der Servername "Server" durch den Hostnamen oder die IP-Adresse des Servers und der Portname "raw" durch den tatsächlichen Anschlußnamen ausgetauscht werden.

    Adobe® und Acrobat® sind eingetragene Warenzeichen von Adobe.

    [Diesen Posting auf Englisch lesen / Read this post in English]