How could I write into the command prompt window of windows 7 with my matlab script?

9 visualizzazioni (ultimi 30 giorni)
Hello,
I'm trying to write a line into my command prompt window of Windows 7 with a matlab script, it can open it well but I didn't find how to write in it and simulate 'enter'. Would anyone know how to do that? Thank you in advance!
Lance_filename = 'Script.txt';
Input_filename = 'filename.txt';
fid = fopen(Lance_filename,'w');
script=sprintf('App.exe %s',Input_filename);
fwrite(fid,script,'char');
fclose(fid);
!cmd
%!cmd < Script.txt
%system('cmd.exe &');

Risposta accettata

Albert
Albert il 31 Ago 2015
ah yeah sure sorry:
Lance_filename = 'Script.txt';
Input_filename = 'filename.txt';
fid = fopen(Lance_filename,'w');
script=sprintf('App.exe %s',Input_filename);
fwrite(fid,script,'char');
fclose(fid);
system(sprintf('%s < "%s"', 'cmd.exe', Lance_filename));
  2 Commenti
Walter Roberson
Walter Roberson il 31 Ago 2015
I do not understand why you bother creating a file to use as input to cmd.exe when you could just system() the command directly. For example with what you have written you could use
system( sprintf('App.exe "%s"', Input_filename) );
and if it is waiting for any input to proceed you could
system( sprintf('App.exe "%s" < NUL:', Input_filename) );

Accedi per commentare.

Più risposte (2)

Walter Roberson
Walter Roberson il 31 Ago 2015
You could use the Java Robot class, but you should probably instead use the technique I showed here

Albert
Albert il 31 Ago 2015
Modificato: Albert il 31 Ago 2015
Thank you for your answer! The opening works but the written text is "Plusÿ?" instead of the string inside my 'Script.txt' file. How could I correct it?

Categorie

Scopri di più su Debugging and Analysis in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by