我需要根據當前目錄的路徑將文件保存在文件名下。例如,我有當前目錄,並定義爲初始數據集如下:從目錄路徑中提取文件名
// current directory
cd "C:\Users\Raw data AA SYS BEST"
// the initial master dataset in "analysis" subfolder
use "analysis\master.dta" , clear
我需要的輸出文件相同的「分析」子文件夾的名稱下保存「分析\ 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)我認爲'filelist'(來自SSC)可能很有用。請參閱http://stackoverflow.com/q/35558697/2077064的答案,這可能會有所幫助。 –
羅伯託,謝謝你,如果我分配'本地x = substr(dirname,10,10)',它確實有效。你知道還可以定義'filelist,directory(「C:\ ...」)'而不必再次輸入整個路徑嗎?像'filelist,directory(cd)'? – user2700264
將路徑放在本地宏中,然後使用它。 –