How can I get the full path of my current *.mlapp file?

조회 수: 71 (최근 30일)
Mark Golberg
Mark Golberg 2022년 6월 15일
댓글: Mark Golberg 2022년 6월 19일
Hi
I'm building a gui via App Designer. I'd like to specify a path of an XML file. I'd like it to be relative to my main *.mlapp file.
Eventually, I'd like to ha ve a general function of the following format:
IF running in StandAlone Mode --> XML file path should be relative to where the exe file recides (when distributed, I'd ask the users to keep this XML file in the same folder as the exe file).
IF running in Developers Mode --> XML file path should be relative to when the *.mlapp file recides.
THANKS!

채택된 답변

Mark Golberg
Mark Golberg 2022년 6월 19일
if isdeployed
% User is running an executable in standalone mode.
[~ , result] = system('set PATH');
executableFolder = char(regexpi(result, 'Path=(.*?);', 'tokens', 'once'));
else
% User is running an m-file from the MATLAB integrated development environment (regular MATLAB).
tmp_path = mfilename('fullpath');
[executableFolder , ~ , ~] = fileparts(tmp_path);
end
  댓글 수: 1
Mark Golberg
Mark Golberg 2022년 6월 19일
I use the above code in a function, and then the function m-file location in the same folder as the *.mlapp file.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Fangjun Jiang
Fangjun Jiang 2022년 6월 16일
I think you can implement this in your code.
Search for the .exe file or .mlapp file using exist('', 'file'), use which() and fileparts() to get the root directory. If both exists, pick your priority.
Then, use fullfile() to combine the root directory and folder to specify the full path of the .xml file.

카테고리

Help CenterFile Exchange에서 MATLAB Report Generator에 대해 자세히 알아보기

제품


릴리스

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by