この例ではプログラムの実行Windowsレジストリを読み取って、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))names = {"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", ...
のパットマッチ関数は先頭の一致しないテキストをスキップし、次にファイルを追加します名前パターンが繰り返される限り。 レジストリに他の値が含まれている場合 (理由はわかりません)、未知のキーをスキップして続行するには、パターンをより洗練されたものにする必要があるかもしれません。
コマンド ウィンドウで reg query コマンドを実行すると、次のようになります。

読み取り関数("text") は同じテキストを温度変数。
ありがとう! これは、私が試した、より壊れやすい別のアプローチよりも簡単です。
私も見ましたWindows 10 の最近使用したファイルとフォルダー: JSL スクリプトで「クイック アクセス」ファイルとフォルダー リストを指していますか?@フィル_ケイこれにより、同様の情報に近づきましたが、.LNK ファイルの場合、どうにか、実際のファイルを指します。 私の場合、ターゲット ファイルへのパスが必要ですが、JSL を使用して .LNK からパスを取得する方法がわかりません。
それはとてもクールでコンパクトです。これは、ファイル選択用のカスタム ダイアログを作成するのに役立つことがわかりました。