MATLAB Function Reference    
dos

DOS コマンドの実行と結果の出力

表示

詳細

dos command は、Windows システムに対して、与えたcommadを実行するシェルをコールします。

status = dos('command') は、終了時のステータスを変数statusに戻します。

[status,result] = dos('command') は、終了時のステータスに加え、commandの結果を変数result に戻します。

[status,result] = dos('command','-echo') は、それらが、変数内に割り当てられていても、出力をCommandウインドウに行います。

コンソール(DOS)プログラムとWindowsプログラム共に実行することが可能ですが、シンタックスは、プログラムのタイプをベースに異なる結果を出力します。コンソールプログラムは、stdoutで、その出力は、結果の変数に戻されます。アイコン化された DOS 、または、Command Prompt ウインドウで、下記以外の場合に、通常は実行します。コンソールプログラムは、バックグラウンドで実行しません。また、MATLABは、実行を続ける前に、stdout パイプをクローズするため常に待ちになります。Windowsプログラムは、stdout をもたないので、バックグラウンドで実行することも可能です。

アンパサイト & キャラクタは、特別な意味をもっています。コンソールプログラムに対して、コンソールをオープンすることを意味します。このキャラクタを省略すると、コンソールプログラムをアイコン化されたような型で実行することを意味します。Windows プログラムに対して、このキャラクタを付加することは、バックグラウンドの中で、アプリケーションを実行することになります。MATLAB は、処理を続けます。

例題

つぎの例題は、ディレクトリの一覧を作成し、sの中にゼロ(成功)、wに一覧の文字列を出力します。

DOS Windows の中に、DOS 5.0 editorをオープンします。

notepad editorをオープンして、すぐに、MATLABにコントロールを返します。

つぎの例題は、シェルが正しく実行しているので、sにゼロを返します。 しかし、fooは、正しいシェルコマンドでないので、wにエラーメッセージを出力します。

つぎの例題は、コマンドdirの結果を Command ウインドウに実行しているかのようにエコーし、結果をwに割り当てているようになります。

参考

特殊なキャラクタ


 docopt double