Renombrar archivos con una búsqueda RegEx, preferiblemente a través de JXA

1

Tengo una pregunta de dos partes aquí. Estoy tratando de hacer un servicio automatizador para cambiar rápidamente el nombre de los archivos. Mi trabajo utiliza 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. Obteniendo 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 es en realidad responder a esta pregunta simple (supongo). He intentado una serie de permutaciones de los siguientes. ¿Hay algo básico que estoy haciendo mal aquí?

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

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

Alexander Lane
fuente

Respuestas:

1

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

theFile = Application("System Events").aliases.byName("~/Desktop/1234-12a-test.png");
theFile.name = "thisDoesWork.png"
grg
fuente
Aaaah, gracias! ¿Conoce algún recurso que explique qué objetos de ruta se utilizan para / otra información del sistema de archivos? La documentación de Apple no es tan útil, y el libro de cocina JXA realmente no lo tocó.
Alexander Lane
@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 simplemente empírico: ¡la documentación de JXA es muy escasa!
grg