Stata脚本重运行时硬链接未更新的问题排查与解决求助
Stata脚本重运行时硬链接未更新的问题排查与解决求助
大家好,我遇到了一个硬链接同步的问题,想请教各位前辈:
我在一个Stata脚本的输出文件和另一个脚本的输入文件之间创建了硬链接,原本期望运行第一个脚本更新输出文件时,目标链接文件也能同步更新,但实际情况是目标文件完全没变化。
最开始我的文件夹放在Dropbox里,以为是云同步的问题,就把整个文件夹移到了本地系统,但问题还是没解决。我之前看到过资料说,有些程序保存文件更新时会先删除旧文件再新建一个,这种操作会破坏硬链接,所以我怀疑是不是Stata的保存机制导致的,但不确定,想问问有没有人知道原因和解决办法?
我创建硬链接的命令:
C:\Users\[File Path]\Tasks_EMOP>mklink /H "C:\Users\[Path]\Consumption_By_Season_Cleaning\Input\emop_despenses_2011_2019_cl.dta" "C:\Users\[File Path]\Appending_Raw_Datasets\Output\emop_despenses_2011_2019_cl.dta"
保存输出文件的Stata脚本片段:
* Geographical info rename Region, lower label var region "Region" label define REGION 8 "Kidal", modify rename Cercle circle label var circle "Circle" // What's this? rename Arrond borough label var borough "Borough" rename Commune town label var town "Town" rename Milieu urban recode urban (2=0) label def MILIEU 0 "Rural", modify label var urban "Urban or rural" egen tot_exp = rowtotal(consom_total_s1 consom_total_s2 consom_total_s3 consom_total_s4), missing label var tot_exp "Total HH expenditure (CFA)" *keep hhid year cluster region circle borough town urban tot_exp taille_men * For 2014 and 2016 circle, borough, and town are completely missing preserve use "$input/emop_indivitus_2011_2019_cl.dta", clear keep iid hhid year region circle borough town collapse (firstnm) region circle borough town, by(hhid year) keep if year == 2011 | year == 2013 | year == 2014 | year == 2016 tempfile geo_vars save `geo_vars' restore merge 1:1 hhid year using `geo_vars', update replace drop _merge * For R users gen region_id = region gen circle_id = circle gen borough_id = borough gen town_id = town * Check duplicates duplicates report hhid cluster region circle borough town year // None rename hhid idmenage save "$output/emop_despenses_2011_2019_cl.dta", replace // save "C:\[filepath]\Tasks_EMOP\Consumption_By_Season_Cleaning\Input\emop_despenses_2011_2019_cl.dta", replace
文件位置截图说明:
- 原始文件位置截图:可见
Appending_Raw_Datasets/Output目录下的emop_despenses_2011_2019_cl.dta文件 - 目标文件位置截图:可见
Consumption_By_Season_Cleaning/Input目录下的同名文件,但更新后两者内容不同步
想请教大家:
- Stata的
save, replace命令是不是真的会删除旧文件再创建新文件?这是不是导致硬链接失效的原因? - 如果确实是这个原因,有没有什么办法能让硬链接保持有效,或者有没有其他替代方案实现两个脚本间文件的自动同步?
备注:内容来源于stack exchange,提问作者Matt
相关产品推荐
相关产品推荐

