Un helpful FAQ from Stata décrit que les arguments peuvent être passés aux fichiers do
. Mon fichier do
ressemble à ceci:Arguments de ligne de commande Stata en mode par lots
* 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
Selon la FAQ, peut être exécuté en utilisant ce script do filename.csv result.dta
. Lorsque j'exécute cette commande à partir de Stata, tout fonctionne correctement. Le programme est long, cependant, je veux l'exécuter en mode batch. Stata a another FAQ sur le mode batch.
En combinant les informations de ces pages Web, je tape ce qui suit à mon invite Unix:
$ nohup stata -b do program.do filename.csv result.dta &
Stata démarre, mais il se termine avec l'erreur suivante:
. save `outname', emptyok // file to hold results
invalid file specification
r(198);
Un peu d'expérimentation raconte moi que Stata ne reçoit jamais les deux arguments quand je lance le programme en mode batch. Quelle est la solution à ce problème? (?-À-dire comment passer des arguments à un fichier faites-vous lors de l'exécution en mode batch)
Il semble que vous ne pouvez pas faire cela. –