
Příkazový řádek - úprava bat souboru
Poradíte jak upravit v příkazovém řádku následující prográmek, který rozbalí ZIP soubor, zpracuje jej a výsledný pdf nazve stejně jako zpracovávaný ZIP a každý další pdf se bude jmenovat jako právě zpracovaný ZIP? Zde tedy kal.pdf aby se nazýval stejně jako ZIP?
FOR %%G IN (*.zip) DO unzip.exe "%%G"
FOR %%G IN (*.jpg) DO c:/im/ImageMagick-6.3.1-Q16/convert "%%G" -strip -interlace plane "%%~nG.pdf"
pdftk 0.pdf 1.pdf 2.pdf 3.pdf 4.pdf 5.pdf 6.pdf 7.pdf 8.pdf 9.pdf 10.pdf 11.pdf 12.pdf cat output kal.pdf
Změna předmětu, původně: Příkazový řádek (host)
Nevím, jestli jsem pochopil správně.
Takže asi takto:
děkuji, zdá se že to bude fungovat, jen tam mám ještě ten unzip: FOR %%G IN (*.zip) DO unzip.exe "%%G" ale protože každý ZIP má stejné názvy, tak mi to nefunguje, protože je to chce přepisovat. Je možné to napsat aby vždy takto zpracoval jeden ZIP celý a potom další...? Nebo by alespoň stačilo na začátku přejmenovat hromadně ZIP soubory aby začínaly 001"jméno souboru", 002"jméno souboru", 003"jméno souboru" atd.
Ano, tak to provádí, dva for v sobě, takže se zpracuje vždy aktuální zip s jeho obsahem.
unzip -o přepíše stejně pojmenované soubory. Pokud jich bude různý počet, pak po zpracování pdftk raději soubory smazat del /f *.jpg.
pokud spustím, tak to hned na začátku chce rozbalit všechny ZIP soubory a tím přepsat jpg. Po úpravě aby rozbaloval postupně mi to zase nechce přes pdftk spojit pdf:
FOR %%G IN (*.zip) DO (unzip.exe "%%G"
FOR %%G IN (*.zip) do set namepdf=%%~nG.pdf
FOR %%G IN (*.jpg) DO c:/im/ImageMagick-6.3.1-Q16/convert "%%G" -strip -interlace plane "%%~nG.pdf"
pdftk 0.pdf 1.pdf 2.pdf 3.pdf 4.pdf 5.pdf 6.pdf 7.pdf 8.pdf 9.pdf 10.pdf 11.pdf 12.pdf cat output %namepdf%
del /f *.jpg)
Co tam dělá dvakrát FOR *.zip, druhý tam nepatří.
Po odstranění FOR, zůstane tam tedy pouze na řádku: set namepdf=%%~nG.pdf, to nevytvoří spojené pdf, dopadne to stejně a píše to chybu: "Input errors, so no output created."
Když to provedeš jednou ručně, tak pdftk spojí pdfka v jedno pdf? Aneb překonvertování souboru jpg přes imagemagick do pdf souboru vznikne opravdu soubor formátu pdf? Chybu určitě hlásí pdftk, pokud ano, pak to není chyba scriptu.
www.jpegtopdf.com
Výstup scriptu:
Pokud to provedu ručně, tak to vytvoří bez problémů, stačí jen změnit %namepdf% na kal.pdf a jde to. Jen to nezvládá přejmenovat přes to %namepdf%
Při použití nového scriptu mi to také udělá stejný výpis, ale nic to nezpracuje...
btw. v tomto poslednom scripte od oval-a nevidim ziadne %namepdf%, tak co kde menis?
to se tykalo dotazu zdali to spoji pokud to udelam rucne a script z 1.10. 9:00 spojuje pdf v pořádku, jen nepojmenuje výsledné pdf stejně jako je ZIP..
v scripte z 1.10
FOR %%G IN (*.zip) DO (unzip.exe "%%G"
zmen na
FOR %%H IN (*.zip) DO (unzip.exe "%%H"
FOR %%G IN (*.zip) do set namepdf=%%~nG.pdf
zmen na
set namepdf=%%~nH.pdf
a bez toho FOR!
btw. ked si odstranil echo off tak to urcite bolo vidiet ze co bolo zle, len treba trochu zapojit oci a uvazovat.
Super, to je přesně ono. Nyní to již funguje. Děkuji mnohokrát za pomoc všem...
a pocuj akoze vytvaras si nejake pdf s normalnymi nazvami a potom pdftk spustas aby spajal suboruy s nazvami 0.pdf a 1.pdf atd, to neni tak trochu kravina co tam robis s tym pdftk? Jak si dosiel na to 0.pdf, 1.pdf, atd? Odkial beres tie subory s nazvami "0.pdf", "1.pdf", atd?
0.pdf 1.pdf atd. se mi vždy vytvoří přes IM, protože v ZIP souboru jsou vždy obrázky 0.jpg 1.jpg atd.
jaj no ono sa to dalo urobit aj dynamicky s nazvami z toho zip, napr. tak ze si v tom hlavnom .bat pripravujes nejaky docasny.bat postupne (najprv do neho zapises pdftk potom zapisujes nazvy suborov a nakoniec zavolas ten docasny.bat z hlavneho bat)
Ale ked ti to staci takto tak OK nechaj to uz tak :)