View Single Post
Old 06-07-2020, 03:45 PM   #1830
JSWolf
Resident Curmudgeon
JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.
 
JSWolf's Avatar
 
Posts: 79,796
Karma: 146391129
Join Date: Nov 2006
Location: Roslindale, Massachusetts
Device: Kobo Libra 2, Kobo Aura H2O, PRS-650, PRS-T1, nook STR, PW3
Quote:
Originally Posted by DNSB View Post
You can run epubcheck from the command prompt and with a little batch file work, you can check all those books in one go. One rather long go⁠—epubcheck is not a speedy program.

I have a directory called epubcheck on my desktop with the batch file and epubcheck.jar plus epubcheck's lib directory The for loop scans through the directory (in this case %USERPROFILE\calibre\Intake points to my calibre intake library) returning any .epub files. The batch file echos the path/filename for the epub and any messages from epubcheck to a file called epubcheck.txt. The echo is needed since otherwise all I would see for an error-free file would the 3 lines telling me no errors were found. The "s around the %%f keeps me from having issues with spaces in the filepath/name string.

I saved the below to a file called checkepub.cmd

Code:
for /R %USERPROFILE%\calibre\Intake %%f in (*.epub) do (
echo "%%f" 1>>%USERPROFILE%\Desktop\epubcheck\epubcheck.txt 2>&1
java -jar epubcheck.jar "%%f" 1>>%USERPROFILE%\Desktop\epubcheck\epubcheck.txt 2>&1
)
pause
A quick scan through epubcheck.txt looking for "Check finished with errors" locates the error files.
Spoiler:

Code:
"C:\Users\David\calibre\Intake\Dave Heiland\Sigil User Guide (6734)\Sigil User Guide - Dave Heiland.epub" 
Validating using EPUB version 2.0.1 rules.
ERROR(RSC-005): C:/Users/David/calibre/Intake/Dave Heiland/Sigil User Guide (6734)/Sigil User Guide - Dave Heiland.epub/OEBPS/Text/validation.html(47,9): Error while parsing file: element "ul" not allowed here; expected the element end-tag or element "li"
ERROR(RSC-005): C:/Users/David/calibre/Intake/Dave Heiland/Sigil User Guide (6734)/Sigil User Guide - Dave Heiland.epub/OEBPS/Text/validation.html(53,9): Error while parsing file: element "ul" not allowed here; expected the element end-tag or element "li"
ERROR(RSC-005): C:/Users/David/calibre/Intake/Dave Heiland/Sigil User Guide (6734)/Sigil User Guide - Dave Heiland.epub/OEBPS/Text/validation.html(59,9): Error while parsing file: element "ul" not allowed here; expected the element end-tag or element "li"
ERROR(RSC-005): C:/Users/David/calibre/Intake/Dave Heiland/Sigil User Guide (6734)/Sigil User Guide - Dave Heiland.epub/OEBPS/Text/validation.html(65,9): Error while parsing file: element "ul" not allowed here; expected the element end-tag or element "li"
ERROR(RSC-005): C:/Users/David/calibre/Intake/Dave Heiland/Sigil User Guide (6734)/Sigil User Guide - Dave Heiland.epub/OEBPS/Text/validation.html(71,9): Error while parsing file: element "ul" not allowed here; expected the element end-tag or element "li"
ERROR(RSC-005): C:/Users/David/calibre/Intake/Dave Heiland/Sigil User Guide (6734)/Sigil User Guide - Dave Heiland.epub/OEBPS/Text/validation.html(77,9): Error while parsing file: element "ul" not allowed here; expected the element end-tag or element "li"
ERROR(RSC-005): C:/Users/David/calibre/Intake/Dave Heiland/Sigil User Guide (6734)/Sigil User Guide - Dave Heiland.epub/OEBPS/Text/validation.html(83,9): Error while parsing file: element "ul" not allowed here; expected the element end-tag or element "li"

Check finished with errors
Messages: 0 fatals / 7 errors / 0 warnings / 0 infos

EPUBCheck completed
"C:\Users\David\calibre\Intake\J. K. Rowling\The Ickabog (9199)\The Ickabog - J. K. Rowling.epub" 
Validating using EPUB version 2.0.1 rules.
No errors or warnings detected.
Messages: 0 fatals / 0 errors / 0 warnings / 0 infos
That is a good way to do it. I was thinking of just doing it using Calibre.
JSWolf is offline   Reply With Quote