I am trying to create a loop that copies specific files (which have a specific identifier at the end of the filename) from a list of folders to another folder using Windows shell commands. However, I am having trouble working with the local macros in Stata. I have tried troubleshooting this with a variety of different ways but get various issues.
1) When I run the commands below:
local folder "folder"
local version "version10"
di "C:\...\`folder'\*`version'.*"
Stata shows this:
C:\...`folder'\*version10.*
It is unclear to me why the `folder' does not return value the assigned to the local macro and also why the backslash somehow disappears.
2) I tried to get around this by combining the local macros as follows:
local folder "folder"
local version "version10"
local path = "C:\..." + "`folder'" + "\*" + "`version'" + ".*"
di "`path'"
This works and returns the following path:
C:\...\folder\*version10.*
However, when I tried to create a loop to do this for all the folders as follows:
local names "a" "b" "c" (These would be the folder names)
local version "version10"
foreach folder of local names {
local path = "C:\..." + "`folder'" + "\*" + "`version'" + ".*"
di "`path'"
}
I get a "too few quotes" error, even though this is the same exact command that I ran previously that returns the correct path.
I would really appreciate any help with this.
0 Response to Combining local macros in Stata
Post a Comment