Massenkonvertierung von XLS in CSV mit LibreOffice

Massenkonvertierung von XLS in CSV mit LibreOffice

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 *.xlsfunktionieren?

Antwort1

In der Linux-Version werden von der Shell Platzhalter in eine Liste passender Dateien erweitert.

Die Windows-Version sollte eine Dateiliste akzeptieren, cmderweitert diese jedoch nicht für Sie.

Die einfachste Antwort ist die Verwendung einer forAnweisung:

for %f in (*.xls) do "path_to_libreoffice\soffice.exe" --convert-to csv "%f"

Beachten Sie, dass dies in einer Batchdatei %fdurch 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.

verwandte Informationen