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