Stata:每次在do文件编辑器中执行.do文件时,你能自动保存带有时间戳的.do文件吗?

时间:2013-11-15 17:38:27

标签: stata

我想知道是否可以自动保存.do文件,因此它包含的时间戳与我在.do文件中创建的日志文件上的时间戳相匹配。例如,我开始每个.do文件,我必须看起来像这样:

#delimit ;
capture log close;
display _n(250);

*******Sets up the log for the output;
local a1=substr(c(current_time),1,2);
local a2=substr(c(current_time),4,2);
local a3=substr(c(current_time),7,2);
local b =       c(current_date);

log using "H:\HSRE\Hospice Payment Reform\Plotzke\Ad Hoc Tasks\OY1\Monitoring for macs\Log\BPA Log (`b')`a1'_`a2'_`a3'",  t;

<rest of the program>

display "Start: `starttime'";
display "End: " "$S_TIME";
log close;

我是否可以在程序的最后添加任何可以保存我刚刚运行的.do文件(在.do文件编辑器中)并带有时间戳(因此我可以将代码与日志匹配) ?

例如,目前我有文件:

"K:\Common\HSRE\Hospice Payment Reform\Plotzke\Ad Hoc Tasks\OY1\BenefitPeriodAnalysis\code\Benefit period analysis (Code).do"

如果每次运行.do文件都会保存它会很棒:

"K:\Common\HSRE\Hospice Payment Reform\Plotzke\Ad Hoc Tasks\OY1\BenefitPeriodAnalysis\code\Benefit period analysis (Code)(`b')`a1'_`a2'_`a3'.do"   

[或某些变化]

1 个答案:

答案 0 :(得分:2)

您可以随时执行以下操作,以获得非常钝的版本控制:

假设您使用的是.do主文件:

"K:\...\Benefit period analysis (Code).do"

您可以在代码中添加一行(在设置所有本地人之后)以使用新的带时间戳的名称复制该文件:

copy "K:\...\Benefit period analysis (Code).do" "K:\...\Benefit period analysis (Code)(`b')`a1'_`a2'_`a3'.do"

但请注意,您希望在运行之前始终save打开.do文件,并且您的.do文件编辑器不会切换到显示此新创建的文件:它将继续显示主文件(非 - 时间戳版本)。但我认为这将实现你的目标。