从目录路径中提取文件名
Extracting filename from directory path
我需要根据当前目录的路径以文件名保存输出文件。例如,我将当前目录和初始数据集定义如下:
// 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" 保存在同一个 "analysis" 子文件夹中。
我遇到了两个问题:
(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"
On (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.pdf or http://www.stata-journal.com/sjpdf.html?articlenum=pr0042
我需要根据当前目录的路径以文件名保存输出文件。例如,我将当前目录和初始数据集定义如下:
// 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" 保存在同一个 "analysis" 子文件夹中。
我遇到了两个问题:
(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"
On (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.pdf or http://www.stata-journal.com/sjpdf.html?articlenum=pr0042