WatchDirectory home page
WatchDirectory Startseite (Deutsche Version)
Site WatchDirectory (Français)
  Welcome, Guest. Please Login or Register
YaBB - Yet another Bulletin Board
   
  HomeHelpSearchLoginRegister  
 
Page Index Toggle Pages: 1
targetdir (Read 6061 times)
starter
YaBB Newbies
*
Offline



Posts: 9
targetdir
Mar 25th, 2011 at 2:13pm
 
Hallo,
ich möchte die funktion "automatisches Konvertieren der Postscipt-Dateien in das PDF-Format" nutzen. Ich möchte aber dass das Programm die Unterordner durchgeht und einfach die ps Dateien durch die PDF-Dateien ersetzt. Also keine feste Ordnerangabe für die erstellten PDF-Dateien, da immer wieder automatisch unterordner angelegt werden. Was trage ich nun bei targetdir ein?

Danke
Back to top
 
 
IP Logged
 
Dirk
YaBB Administrator
*****
Offline



Posts: 658
South Germany
Re: targetdir
Reply #1 - Mar 25th, 2011 at 7:54pm
 
Hallo starter,

mit ein wenig Änderung im Script bekommt man das hin. Du musst dabei ein übergeordnetes Verzeichnis der Verzeichnisse, die die .ps-Dateien enthalten, überwachen incl. aller Unterverzeichnis.
Schau erst mal hier, dort findest Du alle Variablen, die WatchDirectory verwenden kann:
http://de.watchdirectory.net/wdhelp/plugins/wdopAutoRunBatEnv_deu.html
Die Variable %WD_FILE_D% enthält z. Bsp. den Namen des Verzeichnisses, in dem eine .ps-Datei gefunden wurde.

Markiere mal im Control-Center Deine Aufgabe. Drücke dann STRG+9 und öffne das Verzeichnis mit dem Namen Deiner Aufgabe. Darin befindet sich eine Datei names "wd.bat".
Dieses Script musst Du folgendermaßen modifizieren:
Nach der Zeile :StartOfBat fügst Du ein:
SET TARGETDIR=%WD_FILE_D%
(Damit wird als Zielverzeichnis dynamisch das Verzeichnis gesetzt, in dem gerade eine ps-Datei gefunden wurde)
Das wars eigentlich.



Back to top
 

Viele Grüße / Best regards
Dirk - GdP Software

dirk [at] gdpsoftware [dot] com
http://blog-de.gdpsoftware.com
Webseite: http://www.gdpsoftware.com
WWW WWW  
IP Logged
 
starter
YaBB Newbies
*
Offline



Posts: 9
Re: targetdir
Reply #2 - Mar 30th, 2011 at 2:48pm
 
Hallo Dirk,

danke für die Antwort. Leider funktioniert es noch nicht so richtig, denke aber ich bin auf dem richtigen Weg. Ich meine dass es da noch ein Problem mit dem Pfad gibt. Nachfolgend das Log.

Danke


C:\Dokumente und Einstellungen\starter>GOTO :StartOfBat
C:\Dokumente und Einstellungen\starter>SET TARGETDIR=C:\TEST\Messprotokolle\318246.ps\  
C:\Dokumente und Einstellungen\starter>IF "FILENEW" NEQ "FILENEW" (IF "FILENEW" NEQ "FILECHNG" (GOTO :Done ) )
C:\Dokumente und Einstellungen\starter>rem checks...
C:\Dokumente und Einstellungen\starter>IF NOT EXIST "C:\TEST\Messprotokolle\318246.ps\ " (
"C:\Programme\watchDirectory\wdAnnotate.exe" error "Target directory - C:\TEST\MessprotokolC:\WINDOWS\system32\cmd.exele\318246.ps\  - does not exist"  
GOTO :Done
)
C:\Dokumente und Einstellungen\starter>IF NOT EXIST "C:\Programme\gs\gs8.54" (
"C:\Programme\watchDirectory\wdAnnotate.exe" error "Ghostscript directory - C:\Programme\gs\gs8.54 - does not exiC:\WINDOWS\system32\cmd.exest"  
GOTO :Done
)
C:\Dokumente und Einstellungen\starter>IF NOT EXIST "C:\Programme\gs\gs8.54\Lib" (
"C:\Programme\watchDirectory\wdAnnotate.exe" error "Ghostscript LIB directory - C:\Programme\gs\gs8.54\Lib - does not exist"  
GOTO :DonC:\WINDOWS\system32\cmd.exee
)
C:\Dokumente und Einstellungen\starter>IF NOT EXIST "C:\Programme\gs\gs8.54\Lib\PS2PDF.BAT" (
"C:\Programme\watchDirectory\wdAnnotate.exe" error "C:\Programme\gs\gs8.54\Lib\PS2PDF.BAT does not exist"  
GOTO :Done
)
C:\Dokumente unC:\WINDOWS\system32\cmd.exed Einstellungen\starter>rem adjust the system path to include the ghostscript directories
C:\Dokumente und Einstellungen\starter>SET PATH=C:\Programme\gs\gs8.54\Bin;C:\Programme\gs\gs8.54\Lib;C:\oracle\ora92\bin;C
:\Programme\Oracle\jre\1.C:\WINDOWS\system32\cmd.exe3.1\bin;C:\Programme\Oracle\
jre\1.1.8\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program
me\Gemeinsame Dateien\Roxio Shared\DLLShared\;C:\Programme\Gemeinsame Dateien\Roxio Shared\9.0\DLLShared\;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50C:\WINDOWS\syste
m32\cmd.exe727;C:\Programme\QuickTime\QTSystem\;C:\Programme\OpenVPN\bin;C:\Prog
ramme\Gemeinsame Dateien\Ahead\Lib\
C:\Dokumente und Einstellungen\starter>IF NOT EXIST "C:\TEST\Messprotokolle\318246.ps\ \88772_1__01_a.PDF" GOTO :PdfDoesNotExist
C:\DokuC:\WINDOWS\system32\cmd.exemente und Einstellungen\starter>rem call PS2PDF to do the actual conversion
C:\Dokumente und Einstellungen\starter>CALL PS2PDF.BAT "C:\TEST\Messprotokolle\318246.ps\88772_1__01_a.ps" "C:\TEST\Messprotokolle\318246.ps\ \88772_1__01_a.PDF" C:\WINDOWS\system32\cmd.exe
AFPL Ghostscript 8.54: **** Could not open the file C:\TEST\Messprotokolle\318246.ps\ \88772_1__01_a.PDF .
**** Unable to open the initial device, quitting.
Back to top
 
 
IP Logged
 
Dirk
YaBB Administrator
*****
Offline



Posts: 658
South Germany
Re: targetdir
Reply #3 - Mar 30th, 2011 at 2:59pm
 
Hallo,

Quote:
C:\Dokumente und Einstellungen\starter>SET TARGETDIR=C:\TEST\Messprotokolle\318246.ps\

Wo liegen Deine ps Dateien?

Sollte nicht
SET TARGETDIR=C:\TEST\Messprotokolle
herauskommen?
Was hast Du im Script an dieser Stelle stehen? Poste mal den Inhalt der wd.bat, die Du aktuell verwendest.

Quote:
C:\Programme\gs\gs8.54

Prüfe mal den Pfad zu Deiner Gostscriptinstallation.

Back to top
 

Viele Grüße / Best regards
Dirk - GdP Software

dirk [at] gdpsoftware [dot] com
http://blog-de.gdpsoftware.com
Webseite: http://www.gdpsoftware.com
WWW WWW  
IP Logged
 
starter
YaBB Newbies
*
Offline



Posts: 9
Re: targetdir
Reply #4 - Mar 30th, 2011 at 3:17pm
 
Ja das ist leider etwas verwirrend. Das Messprogramm erstellt im Ordner Messprotokolle einen weiteren Ordner pro Messung. Dieser Ordner trägt den Namen xxx.ps   In diesem Ordner sind dann die richtigen ps-Dateien. --> Meist zwei.
Aber die Verwirrung über den Ordnernamen habe ich auch schon getestet. Also den Punkt und ps weggelassen. Habe aber genau das gleiche Ergebnis.

Bezüglich GhostScript habe ich denke ich schon den richtigen Pfad. Sollte das nicht der Überordner von dem BIN- und dem LIB-Ordner sein? Dieser Ordner enthält allerdings nicht die .exe   Diese befindet sich ja dann im BIN-Ordner.

Anbei meine wd.bat

GOTO :StartOfBat
; settings
;
; the following lines (all that start with a $ sign) are parsed by
; the GUI. The values you enter are stored in the *.config file
; in use for the task.
;
;NAME=Convert Postscript Files to PDF
;NAMEL=Automatically Convert Postscript Files (*.ps, *.eps) to PDF
;NAME_DEU=Postscript nach PDF wandeln
;NAMEL_DEU=automatisch eine beliebige existierende Postscript-Datei (*.ps, *.eps) in das PDF-Format wandeln
;CAT=999
;
$SET DELETEPS=bool;Y;Delete postscript files after conversion to PDF
$SET TARGETDIR=dir;;Place the PDF files in this directory
$SET OVERWRITE=choice;OVERWRITE:Overwrite existing PDF files|RENAME:Rename existing PDF files;If the PDF file already exists
$SET GSDIR=dir;C:\gs\gs8.14;Where did you install GhostScript (the directory that contains the LIB and BIN subdirectory)

$$$
:StartOfBat
SET TARGETDIR=%WD_FILE_D%
IF "%WD_REASON%" NEQ "FILENEW" (
  IF "%WD_REASON%" NEQ "FILECHNG" (
     GOTO :Done
  )
)
rem checks...
IF NOT EXIST "%TARGETDIR%" (
     %ANNOTATE% error "Target directory - %TARGETDIR% - does not exist"
     GOTO :Done
)
IF NOT EXIST "%GSDIR%" (
     %ANNOTATE% error "Ghostscript directory - %GSDIR% - does not exist"
     GOTO :Done
)
IF NOT EXIST "%GSDIR%\Lib" (
     %ANNOTATE% error "Ghostscript LIB directory - %GSDIR%\Lib - does not exist"
     GOTO :Done
)
IF NOT EXIST "%GSDIR%\Lib\PS2PDF.BAT" (
     %ANNOTATE% error "%GSDIR%\Lib\PS2PDF.BAT does not exist"
     GOTO :Done
)

rem adjust the system path to include the ghostscript directories
SET PATH=%GSDIR%\Bin;%GSDIR%\Lib;%PATH%

IF NOT EXIST "%TARGETDIR%\%WD_FILE_B%.PDF" GOTO :PdfDoesNotExist

%ANNOTATE% info "%TARGETDIR%\%WD_FILE_B%.PDF" already exists

GOTO :%OVERWRITE%Selected

:RENAMESelected
rem we do not want to overwrite existing files in the target directory
rem so we rename the existing file to existing_.pdf (we add an underscore)
SET BASENAME=%WD_FILE_B%
:tryAgainSam
SET BASENAME=%BASENAME%_
IF EXIST "%TARGETDIR%\%BASENAME%.PDF" GOTO :TryAgainSam
REN "%TARGETDIR%\%WD_FILE_B%.PDF" "%BASENAME%.PDF"

%ANNOTATE% info "%TARGETDIR%\%WD_FILE_B%.PDF" renamed to "%BASENAME%.PDF"

GOTO :PdfDoesNotExist

:OVERWRITESelected
%ANNOTATE% info "%TARGETDIR%\%WD_FILE_B%.PDF" removed
DEL "%TARGETDIR%\%WD_FILE_B%.PDF"
GOTO :PdfDoesNotExist


:PdfDoesNotExist

rem call PS2PDF to do the actual conversion
CALL PS2PDF.BAT "%WD_FILE%" "%TARGETDIR%\%WD_FILE_B%.PDF"

IF EXIST "%TARGETDIR%\%WD_FILE_B%.PDF" (
     %ANNOTATE% info "%TARGETDIR%\%WD_FILE_B%.PDF" created
     IF "%DELETEPS%" == "Y" (
           DEL "%WD_FILE%"
           %ANNOTATE% info "%WD_FILE%" removed
     )
) ELSE (
     %ANNOTATE% warn "%TARGETDIR%\%WD_FILE_B%.PDF" could not be created
)
:Done


Back to top
 
 
IP Logged
 
Dirk
YaBB Administrator
*****
Offline



Posts: 658
South Germany
Re: targetdir
Reply #5 - Mar 30th, 2011 at 4:25pm
 
Hallo,

ziemlich am Ende der wd.bat befindet sich folgende Zeile:
Code:
CALL PS2PDF.BAT "%WD_FILE%" "%TARGETDIR%\%WD_FILE_B%.PDF"  



Ändere diese mal ab in:
Code:
CALL PS2PDF.BAT "%WD_FILE%" "%TARGETDIR%%WD_FILE_B%.PDF"  



(einmal das \ zwischen den Variablen "%TARGETDIR% und %WD_FILE_B% rausnehmen)
Back to top
 

Viele Grüße / Best regards
Dirk - GdP Software

dirk [at] gdpsoftware [dot] com
http://blog-de.gdpsoftware.com
Webseite: http://www.gdpsoftware.com
WWW WWW  
IP Logged
 
starter
YaBB Newbies
*
Offline



Posts: 9
Re: targetdir
Reply #6 - Mar 30th, 2011 at 4:58pm
 
Der Dirk ist der beste! Der Dirk ist der beste! Der Dirk ist der beste!

Danke.

Nun noch zwei Sachen. Wie schalte ich die Logs welche in den Ordner mit der wd.bat geschrieben werden ab? --> Hacken bei "keine Informationen in die Ereignisdatenbank schreiben" ist drinnen

Und wie bekomme ich es hin, dass die Originalen ps-Dateine gelöscht werden? --> Der Hacken bei Deleteps ist drinnen bzw. steht auf Y
Back to top
 
 
IP Logged
 
Dirk
YaBB Administrator
*****
Offline



Posts: 658
South Germany
Re: targetdir
Reply #7 - Mar 30th, 2011 at 6:37pm
 
Danke für die Lorbeeren Smiley

ps-Datei löschen -> ist genau dasselbe: eine Zeile nach der letzten Änderung in der wd.bat:
Code:
IF EXIST "%TARGETDIR%\%WD_FILE_B%.PDF" 


den \ rausnehmen, also:
Code:
IF EXIST "%TARGETDIR%%WD_FILE_B%.PDF" 



Das Logging lässt folgendermaßen abschalten:
In der ersten Konfig-Maske des Plugins den Haken ganz oben rausnehmen beim Punkt:
"Ausgabe der .bat-Datei entgegenehmen"

Ich würden den Punkt "keine Informationen in die Ereignisdatenbank schreiben" wieder deaktivieren, ansonsten gibt es überhaupt keine logging-Einträge. Die Ereignisdatenbank hat nichts mit den .log-Files im Aufgabenverzeichnis zu tun, es ist eine separate Datenbank, deren Inhalt Du mit Klick auf das 4. Symbol von oben ganz links außen im Control-Center einsehen kannst.
Back to top
 

Viele Grüße / Best regards
Dirk - GdP Software

dirk [at] gdpsoftware [dot] com
http://blog-de.gdpsoftware.com
Webseite: http://www.gdpsoftware.com
WWW WWW  
IP Logged
 
starter
YaBB Newbies
*
Offline



Posts: 9
Re: targetdir
Reply #8 - Mar 31st, 2011 at 11:01am
 
Perfekt, danke.
Back to top
 
 
IP Logged
 
Page Index Toggle Pages: 1