PDF-Datei Seiten mit Batch, Tokens und Ghostscript extrahieren
Habe Dank des For-Tutorials ein kleines Batch geschrieben um einzelne Seiten aus einer .pdf-Datei zu extrahieren. Jetzt würde ich gerne diese einzelnen Seiten mittels Tokens nochmals vereinfachen. Dazu sollen die Seiten 1,19-20,11-12,13-18,21 aus der Datei.pdf extrahiert werden. Leider bin ich mit meiner "Tokens"-Recherche am Ende oder bekomme das einfach nicht hin.
FOR /F "delims=" %%i in ('dir /a-d /b /s "datei.pdf"') do (
"C:\Program Files\gs\gs9.04\bin\gswin64c" ^
-dNOPAUSE -sDEVICE=pdfwrite -dMaxBitmap=300 ^
-sOutputFile="%%~nia.pdf" ^
-dBATCH ^
-dFirstPage=1 -dLastPage=1 "%%i" ^
-dFirstPage=19 -dLastPage=20 "%%i" )
-dFirstPage=11 -dLastPage=12 "%%i" ^
-dFirstPage=13 -dLastPage=18 "%%i" ^
-dFirstPage=21 -dLastPage=21 "%%i" ^
Please also mark the comments that contributed to the solution of the article
Content-Key: 177969
Url: https://administrator.de/contentid/177969
Printed on: April 25, 2024 at 14:04 o'clock
3 Comments
Latest comment
Moin,
Ich bin mir nicht sicher, was du genau willst....
Klar, man "kann" die batch verkuerzen und ein paar wiederkehrende befehlsketten in eine schleife packen.
Aber ob die dann einfacher zu lesen ist oder schneller laeuft?
Bedenke, du willst ganz krumme zahlen nehmen und nix stupides, wie nur grade zahlen von 2 bis 8.
Also nochmal, was genau soll das ziel sein?
Btw bist du dir sicher, das die ueberhaupt das macht, was du willst?
Zeile 7 das ) sieht mir nicht danach aus......
Gruss
Ich bin mir nicht sicher, was du genau willst....
Klar, man "kann" die batch verkuerzen und ein paar wiederkehrende befehlsketten in eine schleife packen.
Aber ob die dann einfacher zu lesen ist oder schneller laeuft?
Bedenke, du willst ganz krumme zahlen nehmen und nix stupides, wie nur grade zahlen von 2 bis 8.
Also nochmal, was genau soll das ziel sein?
Btw bist du dir sicher, das die ueberhaupt das macht, was du willst?
Zeile 7 das ) sieht mir nicht danach aus......
Gruss
Hallo majcho!
Wenn schon, dann aber besser immer VonSeite und BisSeite angeben - ungetestet:
Grüße
bastla
Wenn schon, dann aber besser immer VonSeite und BisSeite angeben - ungetestet:
set "Seiten=1-1,19-20,11-12,13-18,21-21"
FOR /F "delims=" %%i in ('dir /a-d /b /s "datei.pdf"') do (
for %%a in (%Seiten%) do for /f "tokens=1-2 delims=-" %%f in ("%%a") do (
"C:\Program Files\gs\gs9.04\bin\gswin64c" ^
-dNOPAUSE -sDEVICE=pdfwrite -dMaxBitmap=300 ^
-sOutputFile="%%~nia.pdf" ^
-dBATCH ^
-dFirstPage=%%f -dLastPage=%%g "%%i"
)
)
bastla