A different approach would appear more direct: 
use -fs-, as publicised by Kit Baum yesterday. 
ssc inst fs 
fs *bilateral.csv 
foreach f in `r(files)' { 
	insheet using `"`f'"' 
	local country : substr local f "bilateral.csv" 
	gen country = "`country'" 
	...
} 
Nick 
[email protected] 
Dev Vencappa
> I am running the insheet command as follows:
> 
> insheet using "C:\World Bank TPD data\ARGbilateral.csv", clear
> gen str5 country=="ARG"
> ....
> 
> I have about 100 other csv files similar to the above. e.g. 
> ARMbilateral, BRGbilateral, CRDbilateral, etc. I have to 
> repeat the same command on each of these csv files. Instead 
> of writing a macro that would store all these three letter 
> names and calling them in a loop, I was wondering if there is 
> a simpler way of asking Stata to read the first three letters 
> of the file, check if it is followed by the name bilateral, 
> read in the data and execute the commands that follow. 
*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/