Este ejemplo utiliza Ejecute el programa para leer el registro de Windows para obtener los archivos en la lista de archivos recientes de JMP.
temp=runprogram(executable("reg"),options({"query","\["HKCU\Software\SAS Institute Inc.\JMP\Recent\Files"]\"}),readfunction("text"));
names = {};
// typical line: " File7 REG_SZ C:\Users\v1\Desktop\Nanami01.jrn"
patmatch(temp,patrepeat(patregex("\s+File\d+\s+REG_SZ\s+")+patbreak("\!n\!r")>>path+pattest(insertinto(names,path);1)));
show(names,nitems(names))nombres = {"F:\FileSnapper\Additional.jsl", "F:\FileSnapper\makeAddin.jsl", "F:\rectangula\virusmap3.jsl", "F:\rectangula\virusmap2.jsl", "F: \turtle\drawing.jmpprj", "F:\AVI\video.jmpprj", "C:\Users\v1\Desktop\Nanami01.jrn", "F:\chess\chessPlay.jsl", ...
El patmatch La función salta el texto inicial que no coincide y luego agrega archivos a nombres mientras el patrón se repita. Si el registro contenía algunos otros valores (no sé por qué), es posible que deba hacer que el patrón sea más sofisticado para omitir las claves desconocidas y continuar.
Ejecutar el comando de consulta de registros en una ventana de comandos se ve así

función de lectura ("texto") devuelve ese mismo texto al temperatura variable.
¡Gracias! Es más simple que otro enfoque que probé que era más frágil.
también miré Archivos y carpetas recientes de Windows 10: ¿apunta a la lista de archivos y carpetas de "Acceso rápido" en un script JSL?@Phil_Kay lo que me acercó a información similar, pero para archivos .LNK que, de alguna manera , apunte a los archivos reales. En mi caso, necesito la ruta al archivo de destino y no sé cómo obtener la ruta de un .LNK usando JSL.
Bueno, eso es muy fresco y compacto.Pude ver que esto es útil para crear un cuadro de diálogo personalizado para la selección de archivos.