我想将所有文件从一个文件夹复制到Stata中的另一个文件。
我使用了以下代码:
local dlist: dir "$dir" dirs "*"
foreach d of local dlist {
local file: dir "$dir\"`d'"" files "*.dta"
foreach f of local file{
copy `f' "$dir/PROGRAMMATION/INITIALES"
}
}
但是,Stata返回:
无效的语法
$dir
是此do-file所在的实际目录。
答案 0 :(得分:1)
以下对我有用:
global dir /Users/monkey/Downloads
local dlist: dir "$dir" dir "*"
foreach d of local dlist {
local file: dir "$dir/`d'" files "*.dta"
foreach f of local file {
copy "$dir/`d'/`f'" "/Users/monkey/testdir/`f'"
}
}
请注意,代码会将copy
的 每个子目录 中包含的所有Stata数据集文件/Users/monkey/Downloads
到目录{{1} }。
如果您只想从/Users/monkey/testdir/
到copy
/Users/monkey/Downloads
所有Stata数据集文件,则一个循环就足够了:
/Users/monkey/testdir/