Ваша проблема может быть легко проиллюстрирована на следующем примере с игрушкой:
local acquacost one.xls two.xls three.xls
foreach f of local acquacost {
display "`f'.dta"
}
one.xls.dta
two.xls.dta
three.xls.dta
Вам нужно указать Stata, чтобы он сохранял только имя файла, а не расширение:
foreach f of local acquacost {
display "`= substr("`f'", 1, strpos("`f'", ".") - 1)'.dta"
}
Здесь я использую функцию strpos()
, чтобы получить позицию первого периода, а затем использую ее в качестве контрольной точки для извлечения соответствующей части string
с использованием функции substr()
.
Для сохранения файла с правильным именем просто используйте save
вместо display
.