Stata:设置全局路径名失败

时间:2015-07-25 13:13:51

标签: stata

我有一个profile.do,其中说明了

global prog "C:\Users\foobar\Google Drive\Cloud\PhD\Projects\Labor Supply\LIAB_QM2_9310_v1_test_dta\prog"

然后我有一个不同的stata different.do文件,其中应该设置此变量

adopath ++ $prog

然而,这变得无法解决。所以我试图找出错误的根源:

. display $prog
C:\Users\foobar\Google invalid name

使用'代替"没有帮助:

. global prog 'C:\Users\sdaro\Google Drive\Cloud\PhD\Projects\Labor Supply\LIAB_QM2_9310_v1_test_dta\prog'

. display $prog
'C:\Users\sdaro\Google invalid name
r(198);

似乎它正在尝试用某些东西替换Drive,但我没有得到什么。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

你的路径有空白,所以你需要周围的引号。 定义宏时使用的引号应该是分隔符。调用后,displayadopath会将其删除。

global prog "C:\Users\foobar\Google Drive\Cloud\PhD\Projects\Labor Supply\LIAB_QM2_9310_v1_test_dta\prog"

display "$prog"

adopath ++ "$prog"

如果您不允许更改adopath $prog,则可以使用双引号保护原始引号:

global prog ""C:\Users\foobar\Google Drive\Cloud\PhD\Projects\Labor Supply\LIAB_QM2_9310_v1_test_dta\prog""

display $prog

adopath ++ $prog

请注意您收到的原始错误:

. display $prog
C:\Users\foobar\Google invalid name

因为你没有使用引号,Stata假设了一个变量名,你所拥有的是非法名称(不能有:\或空格。