2016-12-12 6 views
1

Я хотел бы получить относительный путь в matlab (например, «C:/Users/thisuser/THATFOLDER»). Я читаю на машинах unix, которые вы можете использовать ~, однако я работаю над системой Windows.Как получить доступ к относительным путям окон (например,% userprofile%) в matlab?

Есть ли обходной путь? Оценил

ответ

1

Вы можете получить общие параметры окна ENV с помощью:

userFolder = getenv ('userprofile') 

так, чтобы получить THATFOLDER использование:

fullfile (userFolder, 'THATFOLDER') 

В одной строке:

fullfile (getenv ('userprofile'), 'THATFOLDER'); 
+0

Попытка поместить это в однострочный: Используя [getenv ('userprofile') '\ THATFOLDER' ] Я получаю: _Error using getenv_ _Нет достаточно входных аргументов. в любом случае вокруг этого? – user2305193

+0

Имейте в виду, что THATFOLDER может не обязательно находиться там, где вы ожидаете. Например, папка «Документы пользователя» может отсутствовать внутри профиля пользователя. (Обычно это не проблема, если вы пишете код для внутреннего использования.) –

3

Вы можете получить полный путь, используя функцию system:

Например

[~,cmdout] = system('echo %APPDATA%') 

должен дать вам полный AppData пути.

+0

вывода изображения: [ссылка] (http://imgur.com/f3iLtBR) – user2305193

+0

@ user2305193 Я редактирую свой ответ, моя ошибка – obchardon

+0

спасибо, оба ответа одинаково верны в моих глазах, однако getenv кажется более конкретным (но системная команда более полезна для общей адаптации). – user2305193