Hallo,
ich habe das nun mit folgender Dateiliste mal nachgestellt:
DOC_-_-_1_-_-_ÄÖÜ-äöü-ß.doc
DOC_-_-_2_-_-_ÄÖÜ-äöü-ß.doc
DOC_-_-_3_-_-_ÄÖÜ-äöü-ß.doc
DOC_-_-_4_-_-_ÄÖÜ-äöü-ß.doc
DOC_-_-_5_-_-_ÄÖÜ-äöü-ß.doc
DOC_-_-_6_-_-_ÄÖÜ-äöü-ß.doc
DOC_-_-_7_-_-_ÄÖÜ-äöü-ß.doc
DOC_-_-_8_-_-_ÄÖÜ-äöü-ß.doc
Dein Kommando hat zwei Probleme (unter Windows):
- Verwendung von
swriter.exe
anstatt nur soffice
- Die Klammerung
()
um das Kommando herum, was wohl die Ausführung der Konvertierungs-Befehle parallelisieren soll, aber zu einem Problem führt (Bin kein Windows-Spezialist und daher eher Laie in der Batch-Programmierung unter Windows. Daher kann ich die Bedeutung von ()
nur aus den verursachten Folgen schließen)
(Genaugenommen produziert die Verwendung von swriter.exe
denselben Fehler, wie die Verwendung der Klammerung ()
da swriter.exe
nur ein Wrapper für soffice
ist. Daher wird swriter.exe
als Prozess sofort beendet sobald soffice gestartet ist, soffice.bin
läuft aber im Hintergrund noch und die Schleife wird aber schon fortgesetzt. Der nächste soffice Start soll dann schon erfolgen, obwohl die Arbeit aus dem vorangegangen Schleifendurchlauf noch gar nicht beendet ist.)
Mit der Kommandozeile:
for %f in (*.doc) do "%ProgramFiles%\LibreOffice\program\soffice" --headless --convert-to docx --outdir "%HOMEPATH%\Documents\MassConversionOut" %f
erreicht man eine sequentielle Abarbeitung und dann hat das bei mir funktioniert, wobei ich das unter Windows als extrem träge empfinde. Unter Linux ging das in 2 Sekunden meine 8 Dateien zu konvertieren, während das unter Windows 10 weit mehr als 1 Minute gedauert hat.
Getestet mit LibreOffice
Version: 7.0.5.2 (x64), Build ID: 64390860c6cd0aca4beafafcfd84613dd9dfb63a
CPU threads: 1; OS: Windows 10.0 Build 19042; UI render: Skia/Raster; VCL: win
Locale: en-US (en_DE); UI: de-DE, Calc: threaded
Ich hoffe das bringt Dich ein wenig weiter.