从目录路径中提取文件名

时间:2016-03-03 16:42:25

标签: filenames stata

我需要根据当前目录的路径在文件名下保存输出文件。例如,我有当前目录和初始数据集定义如下:

// current directory
cd "C:\Users\Raw data AA SYS BEST" 
// the initial master dataset in "analysis" subfolder
use "analysis\master.dta" , clear

我需要将输出文件保存在名称" analysis \ output_AA_SYS_BEST.dta"在同一"分析"子目录。

我遇到过两个问题:

(1)如何提取目录名称的一部分。我设法找到一些有用的信息,如何使用substr()函数来提取存储在同一目录中的文件名列表部分 (http://www.ats.ucla.edu/stat/stata/faq/append_many_files.htm),但不是目录本身。

(2)我尝试了一种更简单的方法来预先定义本地宏,然后将其与文件名连接,但它不起作用,可能是因为语法错误:

 local x "AA SYS BEST"
 save "analysis\test"_"`x'"_".dta"

1 个答案:

答案 0 :(得分:1)

开(1)我不清楚你的问题是什么,并且看不到代码示例。

开(2)这应该有效:

local x "AA SYS BEST"
save "analysis\test_`x'_.dta"

但请注意反斜杠和本地宏名称是否相邻。请改用正斜杠。所以这应该工作

local x "AA SYS BEST"
save "analysis\`x'_.dta"

但这应该可行,即使在Windows中也是如此,

local x "AA SYS BEST"
save "analysis/`x'_.dta"

有关反斜杠的更多信息,请参阅18.3.1 http://www.stata.com/manuals14/u18.pdfhttp://www.stata-journal.com/sjpdf.html?articlenum=pr0042