如何在子目录中添加 Stata 程序?

How to add Stata programs in subdirectories?

我想将包含 .ado 个文件的目录添加到 ado 路径。该目录包含几个子目录,分别对应不同的项目。 .ado 文件位于这些子目录中。

但是,当我键入 adopath + directory 时,Stata 无法识别 .ado 文件中的命令。我需要为每个子目录输入 adopath + directory/subdirectory。有解决办法吗?

Stata 有一个规则,除了在 adopath 中明确命名的目录(等)之外,对于名称以该字母开头的程序,它还会查找由单个字母命名的子目录中的那些.

因此假设您正在调用一个命令 whatever 并且您的命名目录包括 c:\ado\plus。 Stata 的搜索将包括 c:\ado\plus\w(如果存在且尚未找到程序文件)。

但Stata不承诺搜索所有子目录,会注意程序名的首字母。

具有特定于项目的 .ado 文件最好通过在处理该项目时更改到所涉及的目录来容纳。如果您不想这样做,那么如果特定目录与您的 adopath 不匹配,那么您需要完整地命名特定目录,正如此单字母规则所扩展的那样。

这是个人风格的问题,但我从来没有想过我写的任何广告都是针对某个特定项目的。 Do-files 是的,但不是 ados。但是您的项目 do-file 可能从 adopath 的添加开始,并以反转这些结束。