Cambiar el nombre de los archivos con una búsqueda RegEx, preferiblemente a través de JXA

Tengo una pregunta de dos partes aquí. Estoy tratando de crear un servicio de automatización para cambiar rápidamente el nombre de los archivos. Mi trabajo usa una sintaxis de nombre de archivo de 1234-01a-FileName.psd donde 1234 es el número de trabajo, 01 el número de archivo y a es una letra de versión, como en la versión dos será 01b, etc. Obtener la letra actual con RegEx e incrementarlo es fácil, el problema que tengo es cómo cambiar el nombre del archivo con JXA. Nada de lo que puedo encontrar en Google responde realmente a esta (supongo) simple pregunta. He intentado una serie de permutaciones de lo siguiente. ¿Hay algo básico que estoy haciendo mal aquí?

theFile = Path("~/Desktop/1234-12a-test.png");
theFile.name = "thisDoesntWork.png";

Alternativamente, podría tener Ejecutar AppleScript y Ejecutar Javascript en el flujo de trabajo del automatizador e intentar pasar el nombre de un lado a otro, pero prefiero mantenerlo simple si es posible.

Respuestas (1)

El objeto Path es una estructura muy básica y no proporciona ninguna funcionalidad real del sistema de archivos. En su lugar, utilice eventos del sistema:

theFile = Application("System Events").aliases.byName("~/Desktop/1234-12a-test.png");
theFile.name = "thisDoesWork.png"
¡Aaaah, gracias! ¿Conoce algún recurso que explique para qué se utilizan los objetos Path / otra información del sistema de archivos? La documentación de Apple no es tan útil, y el libro de cocina de JXA realmente no lo menciona.
@Alexander Solo los he visto devueltos en lugar de una cadena que se refiere a una ruta y no parece haber ninguna propiedad en ellos, pero eso es solo empírico: ¡la documentación de JXA es muy escasa!