How to use matlab to send inputs to open dos cmd window

Hi,
I am developing a script that will open an executable using the "dos()" function cmd. This function opens up a sort of server process in which the function is running in the background awaiting input. What I cant figure out is how to send command via matlab to this open cmd window. The problem I run into is that once matlab opens up the cmd window and gets the server process running, I cant figure out how to send inputs via matlab to that same instance of the dos cmd window.

Answers (3)

you can use:
!cmd &
it works for me to open the command window from Matlab
Moreover, if you want to excute something in the cmd, you can do it as follows (in my case I want to run an excutable called "Opensees" then type the file name)
!Opensees fileName.tcl &
All the above commands will open and run the excutable in an external commond prompt window. If you wish to run it inside Matalb command window, just remove the "&" symbol at the end.
I hope this helps.
P.S. I am using MATLAB R2018a - academic version

1 Comment

Thank you! I was looking for this! This solution works under Window. Did you also try under Linux, how it should look like?

Sign in to comment.

You can run a .batch file in dos prompt. You create the required .bat file with matlab and run it using system. Read about system and batch files.

3 Comments

Thanks, but this doesn't really apply here as far as I understand it. I can onl;y control matlab, and the program I have open in dos is awaiting user input, and I need to give it that user input via matlab. I do not see a way to 1) use matlab script to send commands to the same instance of dos (every time I use dos() or system() it opens a new instance of dos) and 2) run a batch file in dos when a program is already running in dos awaiting input. Do you have an insight on that?
You will have loops in batch file..You can make use of that..
Loops in a batch file doesn't help me. If I have a batch file that calls an exe and that exe is paused awaiting user input I cant move on the next line of the batch file, loop or no loop

Sign in to comment.

Use the .NET facility System Diagnostics.Process

Categories

Tags

Asked:

on 28 Mar 2017

Answered:

on 16 Feb 2022

Community Treasure Hunt

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

Start Hunting!