Suchen Sie nach einer Software, die eine Ordnerstruktur mit CHM-Dateien in verschiedenen Ordnern nach EPUB konvertiert

1975
therobyouknow

Ich habe einen Ordnerbaum mit unterschiedlichen Ordnerebenen und in jedem Ordner befinden sich eine Reihe von CHM-Dateien (kompilierte HTML-Dateien). Ich möchte ein Werkzeug, um alle diese Dateien in ein EPUB (Buch) umzuwandeln, indem Sie einfach den Stamm des Ordnerbaums angeben und die EPUB-Dateien mit dem Werkzeug an derselben Stelle wie ihre CHM-Entsprechungen platzieren. Das Tool führt den Ordnerbaum rekursiv durch, um jedes CHM zu finden und es zu konvertieren.

Ich habe bereits die Frage Software zum Konvertieren von CHM-Dateien in EPUB / Kindle und Antworten gesehen. Dies gibt mir jedoch nicht die Möglichkeit, einen Stammordner anzugeben und ein Werkzeug durchlaufen zu lassen, in dem die Unterordner durchsucht werden, die jedes CHM finden und konvertieren. Keines der genannten Tools tut dies.

Die beste Anforderung, die ich meiner Anforderung entnehmen kann, ist: http://www.enolsoft.com/chm-to-epub-for-mac.html für den Mac (Ich bin Besitzer eines MacBookPro und Computer mit Windows XP / 7 und Linux). Dies ist ein vernünftiger Preis bei 15 $. Dieses Tool bietet die Möglichkeit, Dateien durch Ziehen und Ablegen zu platzieren und die konvertierte Datei im ursprünglichen Quellordner abzulegen. Es scheint jedoch nicht möglich zu sein, nur einen Stammordner anzugeben und die Konvertierung der Dateien, die sich unter diesem Stamm befinden, durchzuführen. (Wenn ich nach dem Öffnen der Frage für ein paar Tage keine bessere Antwort bekomme, würde ich diese wahrscheinlich als meine Antwort selbst posten und akzeptieren.)

Sowohl kostenlos als auch bezahlt sind in Ordnung (solange bezahlt, ist vernünftig, dh etwa unter 50 $).

Mac, Windows oder Linux, sofern das Tool einfach zu verwenden ist, sich bewährt hat und relativ schnell ist.

1

1 Antwort auf die Frage

2
afrazier

Calibre enthält das Befehlszeilentool calibre-convert zum Konvertieren verschiedener Dateitypen, einschließlich CHM, in verschiedene eBook-Formate (plus txt / html / rtf / pdf).

Von dort ist es trivial, dies auf die Bearbeitung einer ganzen Hierarchie von Dateien von Ihrer bevorzugten Shell ( cmd.exePowerShell, Bash usw.) zu erweitern.

+1 Danke @afrazier Ihr Vorschlag ist machbar - ich kann einen Treewalker-Code schreiben, um durch den Baum zu rekursieren. Es wäre jedoch nützlich, wenn Calibre (oder anderswo) über einige Befehlszeilenaufrufe verfügt, da viele Parameter zu berücksichtigen sind (Ich habe Ihren Link zur Umwandlung von CHM in EPUB verfolgt: http: //manual.calibre-ebook). com / cli / ebook-convert-19.html # chm-input-to-epub-output). Ich würde es vorziehen, nicht zu viel mit den Parametern zu experimentieren, um die besten Ergebnisse zu erzielen, da ich das Ergebnis jeder CHM-Datei, die ich habe, überprüfen müsste, was nicht ideal ist. therobyouknow vor 12 Jahren 0
... und hier ist eine schöne Möglichkeit, einen Verzeichnisbaum mit Python (2.x) zu durchlaufen. Ich werde dies verwenden: http://code.google.com/p/mylibs/source/browse/lib/Python/MyPyLib/DirectoryStatWalker.py therobyouknow vor 12 Jahren 0
Der einfachste Weg, eine nützliche Befehlszeile herauszufinden, wäre das Testen verschiedener Einstellungen in der Benutzeroberfläche. Verwenden Sie dann den Tipp von [dieser Seite] (http://manual.calibre-ebook.com/conversion.html#how- options-are-set-save-for-conversion), um die verwendete Befehlszeile herauszufinden. afrazier vor 12 Jahren 1
+1 akzeptiert Ich gehe mit dieser Idee. Ich denke, ich habe alles, was ich brauche, wenn Sie Ihren Zeiger auf die Dokumentation der Caliber-Befehlszeilen-Tools und die Tree Walker-Routine zeigen. Hoffentlich kann ich gute Ergebnisse erzielen, ohne zu viel mit den Parametern experimentieren zu müssen. Ich kann das erwähnte Tool unter http://www.enolsoft.com/chm-to-epub-for-mac.html ausprobieren oder sogar kaufen (um 15 $ ist es sehr vernünftig), auch zum Vergleich der Ausgabequalität. therobyouknow vor 12 Jahren 0
Die meisten Shells machen es einfach, einen Befehl gegen einen Baum auszuführen. Für die Windows-Eingabeaufforderung würden Sie Folgendes tun: `für / r% i in (C: \ Pfad \ An \ *. Chm) do @ ebook-convert.exe"% ~ fi ""% ~ dpni. epub "[andere Optionen hier]` Nahezu jede Unix-Shell verfügt über Schleifenkonstrukte, "find", "xargs" und wahrscheinlich andere Wege, um den Baum zu durchlaufen, ohne auf Python-Code zurückzugreifen. Wenn Sie sich mit Python am wohlsten fühlen, ist das in Ordnung, aber es ist nicht notwendig. afrazier vor 12 Jahren 1
+1 @afrazier auf Ihren Antwortkommentar hat gerade das gesehen - dies wird mir helfen, die optimalen Einstellungen schneller zu erreichen, denke ich. therobyouknow vor 12 Jahren 0
Ich habe angefangen, Python zu lernen, also gibt es praktische Projekte, die für mich nützlich sind. Dies gibt mir den Anreiz, zu lernen (zumindest vom Code anderer, wie es hier der Fall ist, wenn noch nicht von vorne.) Vielen Dank für die anderen Optionen (eine weitere +1). Um den Befehl gegen einen Baum auszuführen - ich bin mir bewusst, dass es mehrere Optionen geben kann - danke für das Teilen, sie sind aufschlussreich und in anderen Situationen nützlich, in denen Python nicht verfügbar ist, oder zur Vereinfachung der Bereitstellung dieser Installation wäre dies nicht erforderlich . therobyouknow vor 12 Jahren 0
Nur zur Information: Schauen Sie sich an, was dpni und fi in Ihren Skriptbeispielen bedeuten - das hat mir geholfen: http://stackoverflow.com/a/112120/227926 (dpni wird nicht beschrieben, aber vermutlich ist dpni eine Menge Optionen auf einmal .) Http://www.dostips.com/DtTutoFunctions.php therobyouknow vor 12 Jahren 0
Wenn Sie an einer Eingabeaufforderung "help call" eingeben, erfahren Sie auch alles. An der Eingabeaufforderung gibt es viele gute integrierte Hilfe. Verwenden Sie ein einzelnes Prozentzeichen ("% i") an einer Eingabeaufforderung. Verwenden Sie doppelte Prozentzeichen für benannte Variablen (`%% i`). Befehlszeilenparameter erhalten einprozentig nummerierte Variablen ("% 1", "% 2", ...). afrazier vor 12 Jahren 0