Script JSL Abra el archivo de la última versión en la carpetaHola,
Quiero automatizar la secuencia de comandos donde abrirá automáticamente el archivo más reciente en función de la última fecha en el nombre del archivo y la última fecha de modificación en una carpeta específica que se muestra en la imagen a continuación. ¿Cómo puedo hacer esto?

Re: Script JSL Abra el archivo de la última versión en la carpetaMuchas gracias, Jim: pasé por alto 'Última fecha de modificación ()', por lo que es bueno saberlo. . .
Re: Script JSL Abra el archivo de la última versión en la carpetaPuedes usar
Archivos en Directorio()
para obtener todos los archivos en un directorio.
Y luego, usando el código de Ian, puede recorrer todos los archivos y obtener el archivo con la fecha más reciente en su nombre,
y/o puede utilizar el
Última fecha de modificación()
función para encontrar la última vez que se modificó cada archivo específico
Names Default To Here( 1 );
Format(
Last Modification Date(
"$SAMPLE_DATA/Big Class.jmp"
),
"ddmonyyyy:h:m:s"
);
Re: Script JSL Abra el archivo de la última versión en la carpetaEl comando Archivo - Importar varios archivos puede agregar una columna o filtro en función de la última fecha de modificación. Puede señalarlo en la carpeta, leer todos los datos y luego simplemente conservar el archivo con la fecha más reciente.
Multiple File Import(
<<SET folder=""></SET>
Re: Script JSL Abra el archivo de la última versión en la carpetaParece que aquí hay dos requisitos: obtener la fecha de creación del archivo (codificada en el nombre del archivo) y obtener la última vez que se modificó este archivo (desde el sistema operativo).
Para el primero de estos, puede intentar comenzar desde el JSL a continuación:
NamesDefaultToHere(1);
// Given a file name constructed in a particular way, returns the encoded creation date
getDateFromFileName =
Function({fName}, {Default Local},
pieces = Words(fName, "-");
pieces[1] = Substr(pieces[1], 8, 2); // Get the 'day'
pieces[3] = Substr(pieces[3], 1, 4); // Get the 'year'
dt = Num(Informat(pieces[1]||pieces[2]||pieces[3], "DDMonYYY")); // Get the JMP datetime from the pieces
);
fName = "Testing01-Nov-2018_.xlsx";
dt = getDateFromFileName(fName);
Tenga en cuenta que la solidez de este tipo de código dependerá crucialmente de lo que pueda (y no pueda) suponer con seguridad sobre cómo se construye el nombre del archivo.
Para obtener la última vez que se modificó un archivo, es posible que deba consultar 'Ejecutar programa' (búsquelo en 'Ayuda > Índice de secuencias de comandos').