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

7 visualizaciones (últimos 30 días)
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 &');

Respuesta aceptada

Albert
Albert el 31 de Ag. de 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 comentarios
Walter Roberson
Walter Roberson el 31 de Ag. de 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) );

Iniciar sesión para comentar.

Más respuestas (2)

Walter Roberson
Walter Roberson el 31 de Ag. de 2015
You could use the Java Robot class, but you should probably instead use the technique I showed here

Albert
Albert el 31 de Ag. de 2015
Editada: Albert el 31 de Ag. de 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?

Categorías

Más información sobre Debugging and Analysis en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by