JSL腳本打開文件夾中的最新版本文件你好,
我想自動化該腳本,它將根據文件名中的最新日期和特定文件夾中的最新修改日期自動打開最新文件,如下圖所示。 我怎樣才能做到這一點?

回复:JSL腳本打開文件夾中的最新版本文件非常感謝吉姆 - 我忽略了“上次修改日期()”,所以很高興了解它。 。 。
回复:JSL腳本打開文件夾中的最新版本文件您可以使用
目錄中的文件()
獲取目錄中的所有文件。
然後使用 Ian 的代碼,您可以循環所有文件並獲取名稱中包含最新日期的文件,
和/或者,您可以使用
最後修改日期()
查找每個特定文件最後一次修改時間的函數
Names Default To Here( 1 );
Format(
Last Modification Date(
"$SAMPLE_DATA/Big Class.jmp"
),
"ddmonyyyy:h:m:s"
);
回复:JSL腳本打開文件夾中的最新版本文件文件 - 導入多個文件命令可以根據上次修改日期添加列或過濾器。 您可以將其指向文件夾,讀取所有數據,然後僅保留文件的最新日期。
Multiple File Import(
<<SET folder=""></SET>
回复:JSL腳本打開文件夾中的最新版本文件看起來這裡有兩個要求 - 獲取文件創建日期(在文件名中編碼),以及獲取該文件的上次修改時間(從操作系統)。
對於第一個,您可以嘗試從下面的 JSL 開始:
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);
請注意,這種代碼的健壯性在很大程度上取決於您可以(和不能)安全地假設文件名的構造方式。
要獲取上次修改文件的時間,您可能需要查看“運行程序”(在“幫助 > 腳本索引”中搜索)。