Cet exemple utilise Exécuter de programme pour lire le registre Windows afin d'obtenir les fichiers de la liste des fichiers récents 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))noms = {"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", ...
Le patmatch la fonction ignore le texte de début non correspondant, puis ajoute des fichiers à des noms tant que le motif se répète. Si le registre contenait d'autres valeurs (je ne sais pas pourquoi), vous devrez peut-être rendre le modèle plus sophistiqué pour ignorer les clés inconnues et continuer.
L'exécution de la commande reg query dans une fenêtre de commande ressemble à ceci

fonction de lecture ("text") renvoie ce même texte au temp variable.
Merci! C'est plus simple qu'une autre approche que j'ai essayée qui était plus fragile.
j'ai aussi regardé Fichiers et dossiers récents de Windows 10 : pointant vers la liste de fichiers et de dossiers "Accès rapide" dans un script JSL ?@Phil_Kay ce qui m'a rapproché d'informations similaires, mais pour les fichiers .LNK qui, d'une manière ou d'une autre , pointez sur les fichiers réels. Dans mon cas, j'ai besoin du chemin vers le fichier cible, et je ne sais pas comment obtenir le chemin d'un .LNK en utilisant JSL.
Eh bien, c'est très cool et compact.Je pouvais voir que cela était utile pour créer une boîte de dialogue personnalisée pour la sélection de fichiers.