Suppressing command output
6 ビュー (過去 30 日間)
古いコメントを表示
I am using the function "system(<SOME COMMAND>)" in a function. The command I'm calling has a lot of screen outputs that I'd like to suppress. How can I do that?
0 件のコメント
採用された回答
Fangjun Jiang
2011 年 8 月 17 日
try below. It just saves the screen outputs.
system('dir >output.txt')
4 件のコメント
Fangjun Jiang
2011 年 8 月 17 日
Thanks, Jason! Nice to know. Is this 1 and 2 refer to MATLAB fid 1 and 2?
Jason Ross
2011 年 8 月 17 日
I've always thought of it as stdout (1) and stderr (2). I've used this extensively outside of MATLAB for other scripting duties. There's a nice summary of redirection commmands at
http://www.robvanderwoude.com/redirection.php
その他の回答 (1 件)
Helder Magalhães
2022 年 1 月 12 日
It's also possible to use "system" (console) based filtering to avoid the whole output to be redirected to Matlab. For example, taking a directory listing in Windows environment:
% the first part only lists text files, including details
% the part after the pipe filters relevant lines
% (to only dump filenames, use 'dir /b' instead)
sys_cmd = 'dir "C:\MyDirectory\*.txt" | find ".txt"';
system(sys_cmd, '-echo');
I wouldn't generally recommend using system calls often, as it may easily break the possibility of porting your software/environment to another platform. But for quick experiments/diagnostics it can become very handy, specially if one is familiar with command-line environment.
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Startup and Shutdown についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!