2013-06-22 21 views
5

A helpful FAQ from Stata opisuje, że argumenty można przekazywać do plików do. Mój plik do wygląda następująco:Argumenty wiersza polecenia Stata w trybie wsadowym

* 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 

Według FAQ, ten skrypt może być uruchamiany za pomocą do filename.csv result.dta. Kiedy uruchomię to polecenie z poziomu Stata, wszystko działa poprawnie. Program jest długi, więc chcę go uruchomić w trybie wsadowym. Stata ma another FAQ o trybie wsadowym.

Łącząc informacje z tych stron internetowych, to wpisz w moim wierszu UNIX:

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

Stata rozpoczyna się, ale to kończy się następujący błąd:

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

Trochę eksperymentowanie mówi mnie, że Stata nigdy nie otrzymuje dwóch argumentów po uruchomieniu programu w trybie wsadowym. Jakie jest rozwiązanie tego problemu? (? Czyli w jaki sposób przekazywać argumenty do pliku zrobić, gdy uruchomienie go w trybie wsadowym)

+0

Wygląda na to, że nie możesz tego zrobić. –

Odpowiedz

5

Gwint poniżej mogą być pomocne:

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

W systemie Windows, jeśli mój program Test.do jest:

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

mogę go uruchomić w trybie wsadowym w systemie Windows po prostu wpisując:

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

I będzie wyświetlany (w promieniu Stata):

Test

Script

Więc zastanawiam się, czy to, co się nohup zapobiegając program z pracy.

Powiązane problemy