Folgendes funktioniert einwandfrei:
"path_to_libreoffice\soffice.exe" --convert-to csv test.xls
Allerdings passiert beim Versuch, alle XLS-Dateien im Ordner zu konvertieren, nichts:
"path_to_libreoffice\soffice.exe" --convert-to csv *.xls
Ich kann alle XLS-Dateinamen kopieren und es so machen, aber warum sollte das nicht *.xls
funktionieren?
Antwort1
In der Linux-Version werden von der Shell Platzhalter in eine Liste passender Dateien erweitert.
Die Windows-Version sollte eine Dateiliste akzeptieren, cmd
erweitert diese jedoch nicht für Sie.
Die einfachste Antwort ist die Verwendung einer for
Anweisung:
for %f in (*.xls) do "path_to_libreoffice\soffice.exe" --convert-to csv "%f"
Beachten Sie, dass dies in einer Batchdatei %f
durch ersetzt werden muss .%%f
Dies ist weniger effizient als die Bereitstellung einer Dateiliste, bei der alle Konvertierungen in einem einzigen Zeitplan durchgeführt werden, während hier für jede Konvertierung ein separater Zeitplan ausgeführt wird.
Es ist möglicherweise möglich, einen einzelnen Zeitplan und eine Dateiliste aus Platzhaltern zu erstellen, aber dazu wäre eine komplexe Skripterstellung erforderlich. Alternativ können Sie einen Windows-Port von verwenden bash
.