save the output of system command using matlab

28 次查看(过去 30 天)
Hello! I am executing a system command via matlab. in the command I am writing the output to a file. when running the code I can find the generated file but I want that file be passed to Matlab as a variable, how can I get to this ? see the code bellow (I want something so that fileA.txt be attributed to cmdout or any thing similar so Matlab can recognize and work directly with the file)
command = 'MyInstuction >fileA.txt';
[status,cmdout] = system(command);

采纳的回答

Steven Lord
Steven Lord 2016-11-29
Use concatenation or sprintf to assemble a command for use with the system function that needs to include information from a variable.
myfilename = 'fileA.txt';
command = ['MyInstuction > ' myfilename]
% I left off the semicolon on the previous line deliberately
% so you can see the command to be executed
[status,cmdout] = system(command);

更多回答(2 个)

Walter Roberson
Walter Roberson 2016-11-28
Leave off the redirection. Just
command = 'MyInstuction';
[status,cmdout] = system(command);

Ano
Ano 2016-11-29
thank you for your reply!
  • I have made the change that you have suggested . it takes a long time since the generated file is very large. any other alternatives ??!!
  • I get cmdout as a 'char', how can I extract my data from it or how can I know where my data is placed in cmdout?Best regards!
  3 个评论
Ano
Ano 2016-11-29
thank you Jan Simon, I posted the comment as an answer because there is no notification for comments and the time response is really very critical!
Jan
Jan 2016-11-29
If the repsonse is time critical, please answer my questions for clarifications. I'd really like to assist you, but I cannot guess, "how can I know where my data is placed".

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by