| |
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]
Re: st: using pwd in an if statement
I think I see your point.
Currently, my usual approach is to start Stata, then use the File . . .
Do . . . drop-down menu to pick the do-file I want (which is indeed
already in the relevant project directory C:/data/scholar/hannah. So
this runs, say, gen_Hannah3.do, but absent a -cd- near the beginning of
gen_Hannah3.do, it leaves pwd as C:/data/scholar (what I have it set to
as the Stata default). It does not change it to C:/data/scholar/hannah.
It sounds like I should get more in the habit of using the command line,
change immediately to the directory of whatever project I am working on,
and then get used to using the -do- command.
--Chris
--
Christopher W. Ryan, MD
SUNY Upstate Medical University Clinical Campus at Binghamton
and Wilson Family Practice Residency, Johnson City, NY
cryanatbinghamtondotedu
GnuPG and PGP public keys available at http://pgp.mit.edu
"If you want to build a ship, don't drum up the men to gather wood,
divide the work and give orders. Instead, teach them to yearn for the
vast and endless sea." [Antoine de St. Exupery]
Ulrich Kohler wrote:
So if I want to keep everything related to one project (command log,
output log, data) in that project's directory, then my
choices seem to be:
1. always use full path names
2. always -cd- to the proper directory at the beginning of a Stata
session (or the beginning of a do-file), using full path name or the
-fastce- package, and then can use relative (short) file names.
Do I have that right?
Almost, I think. I would not recommend to -cd /to/project/directory- at the
beginning of a do-file, as you have mentioned within the parentheses of your
second point. The do-files belonging to a specific project should be already
in the project directory, and you should start them from within that
directory. Hence in principal:
. cd /path/to/my/project/directory // <- -fastcd- makes this easier
. do mydo
where mydo.do contains only relative pathnames:
---------------------
use xyz, clear //
capture mkdir logetc
capture mkdir graphs
...
log using logetc/mydo, replace
...
scatter y x, saving(graphs/mydo_1, replace)
graph export graphs/mydo_1.eps, replace
....
save mydo, replace
log close
exit
-------------------------
Other strategies might work as well. This one has survived changes from
Windows to Linux and Macintosh as well as relocations between Konstanz,
Mannheim, Los Angeles, Berlin and Washington.
*
* 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/