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);
请注意,这种代码的健壮性在很大程度上取决于您可以(和不能)安全地假设文件名的构造方式。
要获取上次修改文件的时间,您可能需要查看“运行程序”(在“帮助 > 脚本索引”中搜索)。