¿Cómo convierto por lotes cientos de documentos de ClarisWorks a un formato moderno?

Estoy ejecutando la versión actual de Sierra (10.12.5). Los documentos aparecen en Finder sin extensiones y el sistema les ha dado íconos exe a pesar de categorizarlos como Documentos. No se pueden ver con QuickLook y mdls identifica su tipo como CWWP.

LibreOffice puede abrir los documentos sin todos los extraños problemas de formato y suciedad que aparecen al abrirlos con otras aplicaciones [Word/TextEdit/Atom/OpenOffice/Etc.]. Y la herramienta de línea de comandos "soffice --headless" permite atacar directorios completos. Excelente. Pero no puedo encontrar una opción para conservar los sellos originales de fecha/hora de creación en los archivos convertidos.

Encontré un software gratuito que convierte documentos antiguos de WordPerfect a formatos modernos, pero no funciona con mis documentos de ClarisWorks.

Intenté usar la aplicación DocumentConverter , pero falla cada vez que intento exportar algo.

También intenté usar unoconv junto con LibreOffice, pero me estrellé contra la pared de ladrillos de un error no corregido de 2012.

Además, encontré este script bash , que pretende hacer exactamente lo que necesito. Sin embargo, en la práctica, la función por lotes no funciona y la secuencia de comandos no tiene ninguna configuración para conservar las marcas de fecha y hora originales.

Lo que espero encontrar es una herramienta de línea de comandos simple que pueda apuntar a carpetas completas de estos documentos para convertirlos en su lugar, con la capacidad de retener los sellos de fecha y hora de creación.

¿Cuáles son mis mejores opciones?

Gracias.


08.05.17 - EDITAR:

Me gustaría agradecer a @patrix por su script bash. Debería ser muy útil.

Y me gustaría que cualquier persona que haya encontrado esto mientras buscaba una solución sepa que el desarrollador de la biblioteca libmwaw (y las herramientas asociadas) actualizó muy bien la fuente y su aplicación mwawOSX para habilitar la herencia de fecha/hora creada para ClarisWorks convertido archivos

Escriba un script de automatización o busque para ver si ya existe uno que pueda editar. En cuanto a mantener las fechas originales, ¿qué ha pasado con las que probaste con saveas? Una opción posible. jamf.com/jamf-nation/discussions/7434/batch-convert-cwk-to-docx
LibreOffice no instala ninguna acción de Automator predeterminada, por lo que no puedo crear un servicio para ello. Guardar los documentos en LibreOffice los guarda como documentos nuevos con la fecha/hora actual. Los scripts a los que vincula requieren la versión de Pages en iWork '09 para poder funcionar.
Modificar el script bash para actualizar los archivos creados es factible, en realidad
@patrix Genial! ¿Cómo puedo hacer eso?
apple.stackexchange.com/a/222459/9058 debería indicarle los comandos correctos. Si esto es demasiada magia de shellscript para su gusto, puedo publicar un script en algún momento de este fin de semana. Sólo házmelo saber
Hola @patrix, gracias por indicarme la dirección correcta. Pero todavía no veo exactamente cómo podría conectar (partes de) eso en el script de shell existente (o agruparlo como un segundo paso con un subprograma libmwaw). Entonces, sí, si tienes la oportunidad de armar un guión ficticio para mí, te lo agradecería mucho. Gracias.
Ok, le echaré un vistazo más adelante.

Respuestas (1)

Tomar la mayoría de las cosas relevantes del script bash al que se ha vinculado y agregar algunos comandos para copiar la marca de tiempo del archivo original al recién creado le dará

#!/bin/bash

SOFFICE="/Applications/LibreOffice.app/Contents/MacOS/soffice"

[[ -x "$SOFFICE" ]] || exit 1
[[ -r "$1" ]] || exit 2

$SOFFICE --headless --convert-to docx:"MS Word 2007 XML" "$1"

ts=$(stat -f "%Sm" -t "%Y%m%d%H%M.%S" "$1")
docx=$(basename "$1" .cwk).docx
touch -t $ts "$docx"

Esto convertirá un archivo (pasado como argumento, incluida una ruta si corresponde) de cwka docx, lo almacenará docxen el directorio actual (que puede ser diferente del lugar del archivo de origen) y aplicará la fecha de "última modificación" del original archivo al convertido.