2013-06-22 15 views
5

helpful FAQ from Stataには、doファイルに引数を渡すことができます。バッチモードのStataコマンドライン引数

* 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 

FAQによると、このスクリプトはdo filename.csv result.dtaを使用して実行することができます:私のdoファイルには、次のようになります。 Stata内からこのコマンドを実行すると、すべて正常に動作します。しかし、プログラムは長いので、バッチモードで実行したい。 Stataはバッチモードについてanother FAQです。これらのウェブページからの情報を組み合わせること

は、私は私のUNIXプロンプトで次のように入力します。

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

のStataが起動しますが、それは次のエラーで終了します。

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

少し実験を伝えますStataはバッチモードでプログラムを実行するときに2つの引数を受け取ることは決してありません。この問題の解決策は何ですか? (すなわちバッチモードでそれを実行しているときあなたがファイルに引数を渡す方法は?)

+0

これはできないようです。 –

答えて

5

以下のスレッドが参考になることがあります。

のWindowsでは

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

、私のプログラムTest.doがある場合:

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

私は単純に入力することで、Windowsのバッチモードで実行することができます:

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

そして、それは(Stataの範囲内)が表示されます:

Test

Script

だから私はnohupが働いてからプログラムを防ぐ何であるかどうかを疑問に思います。

関連する問題