如何在Stata中附加来自相同目录和文件夹且以相同字母开头的文件?

如何在Stata中附加来自相同目录和文件夹且以相同字母开头的文件?,stata,Stata,我有一个叫Workdata的文件夹。在这个文件夹中,我有以下文件 我的数据与生物学 Mydata_化学 我的数据和数学 不洁 不洁2 如果我想附加此文件夹中的所有文件,可以使用以下代码: local allfiles : dir "Data\scores" files "*" foreach f in local allfiles { *append loop } 但是,当我尝试只附加以Mydata开头的前3个文件时,我就不能再使用local allfiles了 我尝试了以下代码,但不起作

我有一个叫Workdata的文件夹。在这个文件夹中,我有以下文件

  • 我的数据与生物学
  • Mydata_化学
  • 我的数据和数学
  • 不洁
  • 不洁2
  • 如果我想附加此文件夹中的所有文件,可以使用以下代码:

    local allfiles : dir "Data\scores" files "*"
    
    foreach f in local allfiles {
    *append loop
    } 
    
    但是,当我尝试只附加以Mydata开头的前3个文件时,我就不能再使用local allfiles了

    我尝试了以下代码,但不起作用:

    local allfiles : dir "Data\scores" files "Mydata*"
    
    foreach f in local allfiles {
    *append loop
    } 
    

    我认为你不需要打圈。使用用户编写的
    fs
    ,这非常容易:

    cd "Data/scores" 
    ssc install fs
    fs "Mydata*.dta"
    append using `r(files)'
    

    foreach循环设置不正确。你想要

    foreach f of local ... 
    
    你有

    foreach f in local ... 
    

    这是有区别的,这很重要。如果需要,请检查每个人的帮助。

    此外,该软件称为Stata,而不是Stata。这真的让一些人恼火。我试过你的方法,但没用。我无法将c:\ado\plus\stata.trk重命名为c:\ado\plus\backup.trk r(699);错误消息。@sonu我猜backup.trk的文件属性是只读的。尝试将其更改为存档。另一个路径可能是
    sysdir set加上“H:\mypath”
    ,在这里您可以将路径更改为合适的路径。