Dann fasse ich noch mal zusammen.
@anon73440385 , danke für den Ansatz, eine Konvertierung über die Konsole zu automatisieren.
jnanon@arcor.de , ich denke, diese ‘Anfangsentscheidung’ ist dahingehend geklärt, dass der Installationsassistent LibreOffice für alle Microsoft Office Dokumente zuständig macht. Kann man rückgängig machen, ist aber auf einem PC nur mit LO weder nützlich noch erforderlich, um zukünftig in erster Linie mit ODF-Dateien zu arbeiten. Auf das Handling von Dateien ‘aus zwei Welten’ ist Opaque schon einmal mehr ausführlich eingegangen.
Da es im Sinne der Fragestellung keinen Automatismus in LO gibt, ist eine mögliche Lösung die Konvertierung aller Microsoft Office Dokumente mit Hilfe eines Scriptes abseits von LO, in dem LibreOffice auf der Kommandozeile mit entsprechenden Parametern aufgerufen wird. (Um nicht jede Datei einzeln manuell öffnen und mit ‘Speichern unter’ als konvertierte ODF-Datei ablegen zu müssen.)
Wenn man dies verzeichnisweise angehen möchte, folgt hier eine mögliche Lösung:
Das Hauptscript (convert.cmd):
Forfiles /P "%cd%" /M *.xlsx /C "cmd /c loconvert_ods.cmd @file"
Forfiles /P "%cd%" /M *.xls /C "cmd /c loconvert_ods.cmd @file"
Forfiles /P "%cd%" /M *.docx /C "cmd /c loconvert_odt.cmd @file"
Forfiles /P "%cd%" /M *.doc /C "cmd /c loconvert_odt.cmd @file"
Forfiles /P "%cd%" /M *.pptx /C "cmd /c loconvert_odp.cmd @file"
Forfiles /P "%cd%" /M *.ppt /C "cmd /c loconvert_odp.cmd @file"
REM pause
Hilfsscripte:
(loconvert_ods.cmd)
"C:\Program Files (x86)\LibreOffice\program\soffice.exe" --convert-to ods %1
(loconvert_odt.cmd)
"C:\Program Files (x86)\LibreOffice\program\soffice.exe" --convert-to odt %1
(loconvert_odp.cmd)
"C:\Program Files (x86)\LibreOffice\program\soffice.exe" --convert-to odp %1
Es stecken ein paar Annahmen drin. Kennwortgeschützte Dateien können so nicht konvertiert werden. Das Script geht über diese Dateien schlicht hinweg. Solche Dateien müssen manuell konvertiert werden. Es gibt kein Log von den Scriptaktivitäten. Ebenso werden keine Rückgabewerte ausgewertet. Das Ergebnis muss also selbst geprüft werden.
Windows hat Probleme in einem Konsolenfenster (aka DOS-Box), mit Leerzeichen sowie Umlauten (allgemeiner: Sonderzeichen) in Pfaden und Dateinamen umzugehen. Deshalb funktioniert das ganze nur, wenn die cmd-Scripte in das zu konvertierende Verzeichnis gestellt und dort gestartet werden. Falls es nicht wie gewünscht läuft, kann man das ‘REM’ vor pause entfernen und die Ausgabe prüfen.
Das Dateidatum der zu konvertierenden Datei bleibt nicht erhalten, da die konvertierte Datei eine neue, in dem Moment erstellte Datei ist.
Alle ursprünglichen Microsoft Office Dateien bleiben unverändert erhalten. Sicherung, Archivierung, Bereinigung usw. müssen dann auf anderem Wege erledigt werden.
Wer nur bestimmte MS Office-Dokumenttypen konvertieren möchte, müsste die entsprechenden Zeilen im Hauptscript belassen und den Rest auskommentieren (REM davor setzen) oder löschen.
Dieses Set ist auf Windows 32/64 Bit und LibreOffice 32 Bit ausgerichtet. Der Pfad “C:\Program Files (x86)\LibreOffice\program\soffice.exe” lautet ansonsten für das 64-Bit LO “C:\Program Files\LibreOffice\program\soffice.exe”.
Testweise sieht das Ergebnis so aus:
Cookievore