Я ломаю голову над этим сегодня - можно ли динамически установить рабочий каталог в Stata с помощью команды в do-файле? Например (по крайней мере, на ПК) вы можете установить каталог в командной строке в зависимости от местоположения файла, который вы запускаете, используя:
%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 ;
Спасибо!!
shell
. - person Roberto Ferrer   schedule 29.01.2014