Scott's advice works here, but for very long filenames there could be a
problem.
Better would be: global filename "`c(filename)'"
Otherwise the end of the filename could be lost on evaluation.
Laura Gibbons <[email protected]>
yes, it works!
Scott Merryman
I believe you need to evaluate the c(filename) term. For example:
. sysuse auto,clear
(1978 Automobile Data)
. globa orig = c(filename)
. di "$orig"
C:\Program Files\Stata9\ado\base/a/auto.dta
. clear
. use "$orig"
(1978 Automobile Data)
Laura Gibbons
> I'm running Intercooled Stata 8.2 on Windows.
>
> I have 2 related questions about how to create a macro that contains
the
> name of the open file, and then how to set up the quotes to access
that
> file later. Here is a simplified example:
>
> . use actthetawide.dta, clear
> . global origdata c(filename)
> . di $origdata
> actthetawide.dta
>
> . clear
> . use $origdata
> invalid '('
> r(198);
>
> Does anyone know why the error message?
>
> Secondly, in real life there will usually be a path name that contains
> spaces, so my program will have to put quotes around the file name.
I'd
> like it to interpret
>
> .use (some quotes)$origdata(other quotes)
>
> to mean
>
> use "actthetawide.dta"
>
> but no matter what combination of quotes I try, I can't get the
filename
> to display inside the quotes. I get back "c(filename)" or
"$origdata"
or
> some such nonsense, depending on what I do.
>
> I searched the manual and the archives to no avail, so I'm hoping you
can
*
* 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/