I am running a batch of do files that contain -pause- commands and would like to find a way to suppress the input prompts. Entering -pause off- does not work, since the individual do files contain -pause on- commands. Here is the code for running the batch of do files (I am new here, so please let me know if this much code is unnecessary):
Code:
capture log close clear * Make filenames easier to manage (only take first 15 characters of filename) local dofiles: dir . files "*.do" di `dofiles' foreach file of local dofiles { local subfile = substr("`file'", 1, 15) + ".do" !rename "`file'" "`subfile'" } local flist: dir . files "*.do" di `flist' set obs 1 gen file = "a" replace file = "" gen score = 1 replace score = . gen reason = "a" replace reason = "" save "grades.dta", replace set rmsg on foreach file in `flist' { * make sure previous errors don't cause problems for current file di `"`file'"' capture log close /* gets both our log and any others */ ** NEED TO EDIT THIS TOO; make sure you're starting in the right place if previous file didn't run correctly. cd $root * move files one by one into tmp directory, with fresh copies of original data mkdir tmp`file'/ cp `file' tmp`file'/ * NEED TO EDIT THESE TO COPY DATA FILE TO DIRECTORY * MAY WANT TO DIVIDE UP LOOP IF DATA FILE IS BIG. cp Modified_Airfare_Data.dta tmp`file'/ cd tmp`file' * check to see if do file runs without error quietly capture do `file' di _rc if _rc==0 { cd $root use "grades.dta", clear replace file = "`file'" if file == "" replace score = 20 if score == . replace reason = "NA" if reason == "" set obs `=scalar(_N + 1)' save "grades.dta", replace } else { cd $root use "grades.dta", clear replace file = "`file'" if file == "" replace score = 0 if score == . replace reason = "`=scalar(_rc)'" if reason == "" set obs `=scalar(_N + 1)' save "grades.dta", replace } * Clear out copies of data cd tmp`file' capture erase Modified_Airfare_Data.dta } * close up capture log close clear * Open grade file cd $root use "grades.dta", clear
0 Response to Suppress input prompt for pause
Post a Comment