Date 如何在Stata中编写宏来标识标题中包含最新日期的文件?

Date 如何在Stata中编写宏来标识标题中包含最新日期的文件?,date,stata,Date,Stata,我正在使用Stata中的一组.dta文件,每个文件的创建都需要一些时间,并且每个文件的文件名中都包含创建日期(使用具有今天日期的宏在保存时创建) 目前,我的do文件根据今天的日期宏确定要打开的相关.dta文件,但这需要我每天运行代码来创建.dta文件 在我运行“cd”命令后,是否有办法让Stata从文件夹中具有相同文件名和不同日期的一组文件中识别最新日期的文件(然后打开它)?我看了一眼Statalist,但看不到答案——我感激地接受了任何建议 e、 g.在文件夹中,我有文件2020-08-23_

我正在使用Stata中的一组.dta文件,每个文件的创建都需要一些时间,并且每个文件的文件名中都包含创建日期(使用具有今天日期的宏在保存时创建)

目前,我的do文件根据今天的日期宏确定要打开的相关.dta文件,但这需要我每天运行代码来创建.dta文件

在我运行“cd”命令后,是否有办法让Stata从文件夹中具有相同文件名和不同日期的一组文件中识别最新日期的文件(然后打开它)?我看了一眼Statalist,但看不到答案——我感激地接受了任何建议

e、 g.在文件夹中,我有文件2020-08-23_datasetA.dta、2020-08-22_datasetA.dta、2020-08-22_datasetB.dta等,在不同的点上,我想选择A、B、C等的最新版本。因此,不认为简单的排序会起作用,因为存在数据集A、B、C

(我的问题本质上是关于R-的Stata版本)


[编辑以澄清存在多个数据集,每个数据集都有日期,并且每个数据集需要在不同点打开]

显然,特定文件夹中的两个或多个文件不能具有相同的名称。但我们知道你的意思

来自SSC的
fs
等实用程序将返回与模式匹配的文件名列表,按字母数字排序。根据你的约会约定,最后一个名字将是最新的,因为你的日期遵循(年、月、日)顺序

对文件名的其余部分使用另一种约定不会破坏这一点,但您自然需要详细说明感兴趣的文件子集。所以一个模式是

. ssc install fs 
. fs *datasetA.dta 
. local wanted = word(r(files), -1) 
安装只需进行一次。您可以通过调用它所使用的官方Stata来绕过fs

也许你正在寻找一个项目,但我不清楚你是否需要


小细节:您使用的单词macro与它的Stata含义不匹配。例如,Stata不是SAS!术语“代码”、“例程”和“脚本”是通用的,与任何Stata用法都不冲突。相反,代码、例程或脚本在您使用的其他软件中可能具有固定的含义。无论哪种方式,Stata问题最好使用Stata术语来表达。

你好,尼克-非常感谢您的回复,并为我在术语方面的不足表示歉意。fs命令运行良好,并按升序列出相关数据集,但我正在努力解决如何使用代码中的下一步打开最新文件的问题—欢迎提供更多提示。再次感谢。最新文件的名称应该在本地宏
中。