全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
9575 7
2012-11-21
本人刚开始自学stata,从论坛里面下载的stata 11免安装压缩包,在命令窗口输入:. doedit `c(sysdir_stata)'profile.do

可以发现里面有profile.do 文件有这样一段程序:

local fn = subinstr("`c(current time)'",":","",2)  /*这一串是设定log文件的,钟经樊发明!*/
log using .\log\s`fn'.smcl, smcl replace
cmdlog using .\log\c`fn'.log, replace

这段程序可以实现打开stata软件后自动生成以打开时间为文件名的日志文件(.smcl 或 .log),比如:215435.smcl或215435.log(即是在21点54分35秒打开的stata软件)

我的问题是:如何实现打开stata软件后自动生成的日志文件是以当前日期时间为文件名的?
ps:这一点连玉君老师有提过,但我没有看到程序。

我现在的尝试结果是,如果将第一段程序更换为:

local fn = subinstr("`c(current_date )'"," ","",2)  /*第一个和第二个逗号中间的两个双引号之间是一个半角空格*/
log using .\log\s`fn'.smcl, smcl replace
cmdlog using .\log\c`fn'.log, replace


那么可以实现将日志文件名生成为21Nov2012.smcl 或21Nov2012.log的形式(以今天为例)

如何才能让日志文件自动生成为21Nov2012_215435.smcl这样的格式呢?希望各位坛友能够提供帮助,在此先谢过了!






二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2012-11-22 01:22:49
. display  %td  date("$S_DATE", "DMY") "_" substr("$S_TIME",1,2) substr("$S_TIME",4,2) substr("$S_TIME",7,2)



21nov2012_121442
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-11-22 09:26:10
期待更多坛友的回复!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-11-22 09:50:50
希望连老师能够不吝赐教
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-11-22 12:29:33
看了连老师(@arlionn )提供的stata11SE程序压缩包中的profile.do文件,终于知道如何设置了!牛人就是牛啊!十分感谢连老师!

打开stata11,在命令窗口输入如下命令打开profile.do文件:

doedit `c(sysdir_stata)'profile.do

将其中设定日志文件名自动生成的程序写为:

. local fnd = subinstr("`c(current_date )'"," ","",3)    /*第一个和第二个逗号中间的两个双引号之间是一个半角空格*/
. local fnt = subinstr("`c(current_time)'",":","",2)   
. log using .\log\s`fnd'_`fnt'.smcl, smcl replace
. cmdlog using .\log\c`fnd'_`fnt'.log, replace
这样修改后,每次打开stata软件,就会在log文件夹自动生成文件名为
“21Nov2012_215435.log”

这样的日志文件了。


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-11-22 21:35:59
hiderm 发表于 2012-11-22 12:29
看了连老师(@arlionn )提供的stata11SE程序压缩包中的profile.do文件,终于知道如何设置了!牛人就是牛啊 ...
2楼就是给你提供的这个方法
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群