2013-06-22 15 views
5

A helpful FAQ from Stata descrive che gli argomenti possono essere passati ai file do. Il mio file do si presenta così:Argomenti della riga di comando Stata in modalità batch

* program.do : Program to fetch information from main dataset 
args inname outname 

save `outname', emptyok // file to hold results 
insheet using `inname', comma clear names case 

// a bunch of processing 

save `outname', replace 

Secondo la FAQ, questo script può essere eseguito utilizzando do filename.csv result.dta. Quando eseguo questo comando da Stata, tutto funziona correttamente. Il programma è lungo, tuttavia, quindi voglio eseguirlo in modalità batch. Stata ha another FAQ sulla modalità batch.

Combinando le informazioni da queste pagine, ho digitare quanto segue al mio prompt di Unix:

$ nohup stata -b do program.do filename.csv result.dta & 

Stata si avvia, ma termina con il seguente errore:

. save `outname', emptyok // file to hold results 
invalid file specification 
r(198); 

Un po 'di sperimentazione racconta io che Stata non riceve mai i due argomenti quando eseguo il programma in modalità batch. Qual è la soluzione a questo problema? (? Vale a dire come si fa a passare gli argomenti in un file di fare durante l'esecuzione in modalità batch)

+0

Sembra che non sia possibile farlo. –

risposta

5

Il filo di seguito può essere utile:

http://www.stata.com/statalist/archive/2012-09/msg00609.html

In Windows, se il mio programma di Test.do è:

args a b 
display "`a'" 
display "`b'" 

posso eseguirlo in modalità batch in Windows semplicemente digitando:

"c:\Stata13\stata.exe" /e do "c:\Scripts\Test.do" Test Script

e verrà visualizzato (entro Stata):

Test

Script

Allora mi chiedo se la nohup è ciò che sta impedendo il vostro programma di funzionare.