将所有文件从一个文件夹复制到另一个

时间:2018-09-11 12:32:03

标签: copy directory stata

我想将所有文件从一个文件夹复制到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所在的实际目录。

1 个答案:

答案 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/