BATCH: Sonderzeichen in Datei schreiben mit echo
Hallo,
in einer recht umfangreichen Prozedur muss ich nun Postscript Programmbefehle in eine Datie schreiben (unwichtig, aber wen's interessiert: für das Merging von PDF-Dateien mache ich eine pdfmark-Datei).
Hier mal ein Beispiel:
Die letzten 3 Zeilen will ich gerade testen, ob das klappt, aber genau diese schreibt er mir nicht mit der Fehlermeldung:
"<<" kann syntaktisch an dieser Stelle nicht verarbeitet werden.
Batch bricht ab. Wie genau muss ich nun maskieren, dass alles in die Datei pdfmark (ja, OHNE Dateiendung) geschrieben wird?
Bereits im Voraus besten Dank, für alle, die sich mit dedr Thematik beschäftigen werden.
Gruß
Schottenrock
in einer recht umfangreichen Prozedur muss ich nun Postscript Programmbefehle in eine Datie schreiben (unwichtig, aber wen's interessiert: für das Merging von PDF-Dateien mache ich eine pdfmark-Datei).
Hier mal ein Beispiel:
echo [ /Title (Unterlagen, Documents) >%pth%tmp\pdfmarks
echo /Author (Hans Wurst und charlie Cheese) >>%pth%tmp\pdfmarks
echo /Subject (Food for special people) >>%pth%tmp\pdfmarks
echo /CreationDate (D:%timestamp%-01) >>%pth%tmp\pdfmarks
echo /DOCINFO pdfmark >>%pth%tmp\pdfmarks
echo. >>%pth%tmp\pdfmarks
:: UM DIE NÄCHSTE ZEILE GEHT ES JETZT EIGENTLICH
echo [{Catalog} <</PageLayout /OneColumn>> /PUT pdfmark >>%pth%tmp\pdfmarks
echo [{Catalog} /CLOSE pdfmark >>%pth%tmp\pdfmarks
echo. >>%pth%tmp\pdfmarks
Die letzten 3 Zeilen will ich gerade testen, ob das klappt, aber genau diese schreibt er mir nicht mit der Fehlermeldung:
"<<" kann syntaktisch an dieser Stelle nicht verarbeitet werden.
Batch bricht ab. Wie genau muss ich nun maskieren, dass alles in die Datei pdfmark (ja, OHNE Dateiendung) geschrieben wird?
Bereits im Voraus besten Dank, für alle, die sich mit dedr Thematik beschäftigen werden.
Gruß
Schottenrock
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 388265
Url: https://administrator.de/contentid/388265
Ausgedruckt am: 08.11.2024 um 07:11 Uhr
4 Kommentare
Neuester Kommentar
Hi
das sind Steuerzeichen in Batch und müssen somit mit einem Delimiter notiert werden.
https://ss64.com/nt/syntax-esc.html
also in deinem Fall z.B
das sind Steuerzeichen in Batch und müssen somit mit einem Delimiter notiert werden.
https://ss64.com/nt/syntax-esc.html
also in deinem Fall z.B
echo [{Catalog} ^<^</PageLayout....
Das Dächle heist nirgendwo Delimiter ;) Das Ding heist Circumflex.
Ein Delimiter ist ein Zeichen, das dem Parser, also in dem Fall dem Verarbeiter der Batchdatei, sagt, das er das folgende Zeichen nicht als Steuerzeichen, sondern als Text behandeln soll. Das muss nicht zwingend das Dächle sein. Ist halt in batch das Dächle. In anderen Sprachen oft der Backslash "\" oder sonst was.
Ein Delimiter ist ein Zeichen, das dem Parser, also in dem Fall dem Verarbeiter der Batchdatei, sagt, das er das folgende Zeichen nicht als Steuerzeichen, sondern als Text behandeln soll. Das muss nicht zwingend das Dächle sein. Ist halt in batch das Dächle. In anderen Sprachen oft der Backslash "\" oder sonst was.