How to execute an .m file from the command line in windows without opening a new matlab copy

The problem is, I want to execute a certain .m file from the command line. I know how to do already:
matlab -nosplash -r "run whathever.m"
Problem is, this opens a new instance of Matlab, I don't want that, I want it to simply use the already open instance of Matlab. Is there any way of doing that?

3 Comments

Hi,
I have got the same problem. Is there meanwhile a way to solve it?
You can add -nodesktop to your call.
matlab -nosplash -nodesktop -r "whathever"
Using -nodesktop can prevent a new graphical interface from starting up, but this is not quite the same as using an existing MATLAB instance. In particular, if you used an existing MATLAB instance, you would have access to the state of that instance, such as the contents of the base workspace and global workspace. In theory one could even wish to run a command line that affected the graphics of an existing session.

Sign in to comment.

 Accepted Answer

I think you need to write code to call into MATLAB as a COM Server. You will also need to ensure that your currently running MATLAB session has been enabled to run as a COM Server. The instructions here should help with that.

More Answers (1)

Thanks for the suggestion, but I couldn't get MATLAB to run as a COM server no matter how many times I tried, are there alternative ways to execute an .m file in an open instance?

2 Comments

Shizuka: Sorry, that's the only way that I can think of. Perhaps you need to have admin privileges when you attempt to start MATLAB as a COM Server?

Sign in to comment.

Categories

Products

Community Treasure Hunt

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

Start Hunting!