Is it possible to programmatically check whether MATLAB has been started with the "-sd" option?
1 次查看(过去 30 天)
显示 更早的评论
I have a program that needs to behave differently depending on whether MATLAB was started with the "-sd" option (sets initial working folder) or not. However, I cannot determine a way to programmatically check this.
4 个评论
dpb
2022-9-18
TMW hasn't provided a link to the command line -- I see a couple alternatives...(I've not tried either, just possible approaches that come to mind at the moment).
- Use a batch file containing the startup command and have it set an environment variable that startup.m can check, or
- Write a mex command that returns the command line and use the -r option to dispatch it. I don't know that this will work or not...
采纳的回答
Jan
2022-9-18
PID = feature('getpid');
[status, out] = system(sprintf('ps -p %d -o args', PID))
Parsing the char vector out is not trival: E.g. he name of the logfile might contain the substring ' -sd '. Will masking substrings included in double quotes avoid such troubles?
Alternatively you can avoid -sd but use a dedicated function instead:
matlab -r "cd('/your/folder')"
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Startup and Shutdown 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!