You could also check whether the file exists by
local thisfile : dir "." file "${bd}\data`anal'_direct`num'.txt"
if "`thisfile'" == "" {
   * issue an error message
}
else {
   insheet ...
   process ...
   save ...
}
On Thu, Feb 4, 2010 at 3:34 PM, Trelle Sven <[email protected]> wrote:
> Dear all,
> I have a data management problem and the approaches I found on the
> archive/web do not work.
> I have several files that I need to read in (insheet), change some
> variables, and save as dta. However, some of the files might not exist
> and I do not want my do-file to stop but to just run through. Stata runs
> the do-file listed below ones but does nothing (it doesn't even provide
> an error message but just lists the do-file and states "end of
> do-file").
> Any help is appreciated.
> Sven
>
> I tried the following three approaches - without success (directory of
> the files is in a global):
>
> Approach 1
>        foreach anal in anal42 anal02 ... {
>                foreach c of numlist 12 13 23 ... {
>
>                        tempfile junk
>                        capture copy "${bd}\data`anal'_direct`num'.txt"
> `junk', replace
>                        if _rc == 0 {
>                                insheet using
> "${bd}\data`anal'_direct`num'.txt", clear
>                                drop if rc=="END"
>                                destring rc, replace force
>                                save "${dd}\`anal'_direct`c'", replace
>                        }
>                        capture copy
> "${bd}\data`anal'_direct`num'_wo41.txt" `junk', replace
>                        if _rc == 0 {
>                                insheet using
> "${bd}\data`anal'_direct`num'_wo41.txt", clear
>                                drop if rc=="END"
>                                destring rc, replace force
>                                save "${dd}\`anal'_direct`c'_wo41",
> replace
>                        }
>
>                }
>        }
>
> Approach 2
>        foreach anal in anal42 anal02 ... {
>                foreach c of numlist 12 13 23 ... {
>
>                        capture confirm file
> `"${bd}\data`anal'_direct`num'.txt"' // `"..."' according to help
>                        if _rc == 0 {
>                                insheet using
> "${bd}\data`anal'_direct`num'.txt", clear
>                                drop if rc=="END"
>                                destring rc, replace force
>                                save "${dd}\`anal'_direct`c'", replace
>                        }
>                        capture confirm file
> `"${bd}\data`anal'_direct`num'_wo41.txt"'
>                        if _rc == 0 {
>                                insheet using
> "${bd}\data`anal'_direct`num'_wo41.txt", clear
>                                drop if rc=="END"
>                                destring rc, replace force
>                                save "${dd}\`anal'_direct`c'_wo41",
> replace
>                                }
>
>                }
>
>        }
>
> Approach 3
>        foreach anal in anal42 anal02 ... {
>                foreach c of numlist 12 13 23 ... {
>
>                        capture {
>                                insheet using
> "${bd}\data`anal'_direct`num'.txt", clear
>                                drop if rc=="END"
>                                destring rc, replace force
>                                save "${dd}\`anal'_direct`c'", replace
>                        }
>                        capture {
>                                insheet using
> "${bd}\data`anal'_direct`num'_wo41.txt", clear
>                                drop if rc=="END"
>                                destring rc, replace force
>                                save "${dd}\`anal'_direct`c'_wo41",
> replace
>                        }
>
>                }
>
>        }
>
>
>
>
>
>
>
>
>
>
>
> *
> *   For searches and help try:
> *   http://www.stata.com/help.cgi?search
> *   http://www.stata.com/support/statalist/faq
> *   http://www.ats.ucla.edu/stat/stata/
>
-- 
Stas Kolenikov, also found at http://stas.kolenikov.name
Small print: I use this email account for mailing lists only.
*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/