我有一个MATLAB编译器生成的二进制文件(exe/jar/dll)。
我希望能够在运行时获得二进制文件本身的完整路径。
任何想法?
这在已部署的MATLAB中似乎是一个棘手的主题。网上搜索可以在MATLAB Central找到复杂的答案。
然而,这可能会有所帮助。
[p,f,i] = uigetfile('')
这是一个hack,但是会找到包含。exe的目录,它在p中返回。
当我回到MATLAB Central中的答案链接时,我发现这也回答了你的问题:
function currentDir = getcurrentdir
if isdeployed % Stand-alone mode.
[status, result] = system('path');
currentDir = char(regexpi(result, 'Path=(.*?);', 'tokens', 'once'));
else % MATLAB mode.
currentDir = pwd;
end