Reputation: 1677
I want to run a script on windows dos terminal where the script will display "Hello world" to the terminal I executed this from e.g.
matlab.exe -nosplash -nodesktop -nojvm -wait -r printToCommandLine.m
Where printToCommandLine.m contains:
system(sprintf('echo Hello world'));
but it only prints to the matlab command window that gets generated when executing the script
Upvotes: 7
Views: 2717
Reputation: 61
First, I am not shure, if the syntax has changed, but I have to call the script without the file extension '.m':
matlab.exe -nosplash -nodesktop -nojvm -wait -r printToCommandLine
Otherwise I will get an error within MATLAB.
Second, this is just a work around, but you can print your current command line output to a log file e.g. 'log.txt' using
matlab.exe -nosplash -nodesktop -nojvm -wait -logfile "log.txt" -r printToCommandLine
The log file will be updated at runtime. To test this, I created a small example script and had a look how 'log.txt' changes during execution:
disp('Script execution started. Waiting 10 seconds...')
pause(10)
disp('...waited 10 seconds.');
This is not exactly what you wanted but it gives you the chance to get actual information about the current command line output during your execution (in a text file).
We use this for automated (remote) testing to print our MATLAB command line output to the console after the tests pass with
type log.txt
Upvotes: 2