以下简单的事情不起作用。
global inputfolder "C:\Users\Focus\Google Drive\1. hani and\Raw data\2004"
cd $inputfolder
它说
invalid syntax
但如果我这样做
global inputfolder "C:\Users"
cd $inputfolder
然后它有效。我尝试过添加“=”
等global inputfolder="C:\Users\Focus\Google Drive\1. hani and\Raw data\2004"
但它没有帮助。
我应该怎样做才能使第一件事有效?
答案 0 :(得分:4)
写作时
global inputfolder "C:\Users\Focus\Google Drive\1. hani and\Raw data\2004"
cd $inputfolder
Stata将全局引用替换为全局内容,以便cd
看到
cd C:\Users\Focus\Google Drive\1. hani and\Raw data\2004
但这些空间有问题。这个建议在cd
的帮助中很突出(参见例如http://www.stata.com/help.cgi?cd):
如果您的directory_name包含嵌入的空格,请记得附上 它 双引号。
因此你需要的只是
cd "$inputfolder"
请注意,将字符串复制到全局字符串并将字符串分配给全局字符串之间的区别确实没有区别,因为问题完全在于提供cd
一个它无法理解的字符串。
在术语上,请注意全局宏不被视为Stata中的变量。该术语保留给数据集中的列。