Eine Liste aller ebooks in einer calibre-Bibliothek erstellt der Command calibredb, Funktion List.(ich verwende die neueste calibre-Version)
Ich möchte eine Liste erstellen und abhängig von div. Kriterien Ausbesserungen in der Bibliothek vornehmen - mit dem Kommand calibredb, Funktion set_metadata.
In einem Dos-Fenster (CMD.EXE) manuell eingegeben funktioniert calibredb list hervorragend und liefert auch die gewünschte Liste.
In einem VBS-Skript mithilfe des wscript.shell Objekts und dem RUN-Command gibt es immer folgende Fehlermeldungen:
Python function terminated unexpectedly
[Errno 12] Not enough space (Error Code: 1)
Traceback (most recent call last):
File "site.py", line 132, in main
File "site.py", line 109, in run_entry_point
File "site-packages\calibre\library\cli.py", line 1604, in main
File "site-packages\calibre\library\cli.py", line 247, in command_list
IOError: [Errno 12] Not enough space
und es gibt keinen Output. Auf der HD ist genug freier Platz (160 mb) vorhanden. Ev. gibt es ein Speicherproblem - ich weiss aber nicht was ich dagegen tun könnte.
Hätten Sie einen Tipp, wie ich das Problem lösen kann?
Besten Dank schon einmal im Voraus.
Windows 7 4.538 Themen, 43.635 Beiträge
Hi,
es scheint, dass das Ergebnis für die wscript Shell zu groß ist (und nicht für die Festplatte).
Wenn Du das Ergebnis in eine Datei umleitest, sollte der Platz ausreichen.
Grüße
HADU
Servus HADU,
Ich leite die Ausgabe um, weil ich die maschinell untersuchen will. Hier der genaue Kommand (mit einer Länge von 221 Zeichen):
"d:\USERS\TE\CALIBRE\Calibre Portable\Calibre\calibredb.exe" list --library-path "d:\USERS\TE\CALIBRE\Calibre Portable\BIBLIOTHEK_T" --separator !! --fields authors,title,author_sort --line-width 1056 >d:\TEST\INHALT1.TXT
Zur Zeit lasse ich es unter EXCEL-VBA Iist VBS aähnlich) laufen. Da kann ich wenigstens Haltepunkt setzen und Variableninhalte ansehen. Den generierten Kommand kopiere ich manuell in das CMD-Fenster und führe ihn durch. Den Ausgabe-File (in D:\TEST\INHALT1.TXT) lese ich dann ein.
Eigentlich will ich das so lösen (der Kommand steht inder variablen KOM):
Set WHO = CreateObject("WScript.Shell")
outx = WHO.RUN(KOM,1,1)
Danke für die Hilfe und lG, GOROW