gpt4 book ai didi

command-line - Stata - 返回文件路径或执行文件位置的命令

转载 作者:行者123 更新时间:2023-12-01 15:16:28 24 4
gpt4 key购买 nike

我今天对此感到困惑——是否可以使用 do 文件中的命令在 Stata 中动态设置工作目录?例如(至少在 PC 上),您可以根据正在运行的文件的位置在命令行中设置目录:

%cd%

因此在批处理文件的开头执行如下命令会自动将目录设置为保存批处理文件的位置:

cd %cd%

这在用户之间非常有效。有什么方法可以对 do 文件做同样的事情(检测/输出到本地变量打开的 do 文件在运行它的机器上的保存位置)?我们的想法是获得以下版本的更流畅版本,当多个用户同步到 Dropbox 文件夹并且特定文件路径在用户之间不相同时,它会检测正确的用户路径:

#delim ; 
if "`c(username)'"=="Steve" { ; cd "C:/Users/Steve/Documents/My Dropbox/ProjectName/" ; };
else if "`c(username)'"=="otherperson" {; cd "/Users/otherpersonusingmac/ProjectName/";};
else if "`c(username)'"=="anotherperson" {; cd "/anotherpersonsDropboxfilepath/ProjectName/";};
# delim cr ;

谢谢!!

最佳答案

我认为没有一步到位的解决方案,但您可以将全局宏定义添加到每台机器上的 profile.do 文件中。例如,将以下内容添加到您的 profile.do 文件中。

global DROPBOX "C:/Users/richa_000/Dropbox"
global SKYDRIVE "C:/Users/richa_000/SkyDrive"

然后使用这些宏在您的脚本中cd

. cd $DROPBOX
C:\Users\richa_000\Dropbox

. cd $SKYDRIVE
C:\Users\richa_000\SkyDrive

在每台机器的 profile.do 文件上指定正确的路径。

关于command-line - Stata - 返回文件路径或执行文件位置的命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21416894/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com