主要内容

系统

执行操作系统命令并返回输出

描述

地位=系统(命令调用操作系统以执行指定的命令。操作等待命令完成执行,然后将命令的退出状态返回给地位多变的。

该函数启动一个新的CMD / shell进程,执行命令,退出过程,并返回MATLAB®过程。对系统环境的更新命令是不可见的MATLAB。

例子

[地位cmdout.] =系统(命令还将命令的输出返回到cmdout..此语法对于不需要用户输入的命令最有用,例如谜语

[地位cmdout.] =系统(命令,“回声”)也在MATLAB命令窗口中显示(回显)命令输出。这种语法对于需要用户输入并在MATLAB命令窗口中正确运行的命令最有用。

例子

全部折叠

使用使用的当前文件夹光盘命令。一种地位0表示命令成功完成。MATLAB返回一个包含当前文件夹的字符向量cmdout.

命令='光盘';(地位、cmdout) =系统(命令)

创建名为的文件夹我的新,叫MKDIR.命令并保存退出状态到一个变量。一种地位零表示我的新文件夹已成功创建。

命令='mkdir mynew';status = system(命令)

打开微软®记事本并立即通过附加一个adpersand将退出状态返回到matlab()到了记事本命令。一种地位0表示记事本已成功启动。

status = system('记事本 &'

执行谜语执行命令,查看退出状态和回显信息。cmdout.包含命令回显信息。

[〜,cmdout] =系统(“dir”);

尝试执行调用命令badcmd.然后,查看地位结果输出参数。当您调用无效命令时,地位表示失败结果包含DOS错误信息。

[状态,结果] =系统('badcmd'

列出当前登录的所有用户,并保存命令退出状态和输出。然后,查看状态。一种地位0表示命令成功完成。MATLAB®返回用户列表cmdout.

命令='WHO';[状态,cmdout] = system(命令);地位
状态= 0

输入参数

全部折叠

操作系统命令,指定为字符串或字符向量。这命令在系统shell中执行,这可能不是您启动MATLAB的shell。

例子:“dir”

例子:“ls”

输出参数

全部折叠

命令退出状态,返回0.或非零整数。当命令成功时,地位0..否则,地位是一个非零整数。

  • 如果命令包括ampersand字符(), 然后地位是退出状态何时命令开始

  • 如果命令不包括Ampersand字符(), 然后地位是退出状态命令完成。

操作系统命令的输出,作为字符向量返回。系统外壳可能不能正确地表示非unicode®人物。

限制

  • MATLAB将字符转换为操作系统shell接受的编码。输出从命令转换为MATLAB编码,在命令窗口中显示。如果从命令中得到意外的结果,请输入命令参数直接在操作系统提示,了解操作系统如何对待您的输入。

  • 回调函数不会调用系统命令执行。

更多关于

全部折叠

窗户提示和限制

  • MS-DOS.®不支持UNC路径名金宝app称。因此,如果当前文件夹使用UNC路径名,则运行系统用dos命令依赖于当前文件夹失败。若要解决此限制,请在调用之前将文件夹更改为映射的驱动器系统

  • 中覆盖环境变量系统命令。例如,下面的代码设置小路变量来myPath然后调用系统命令doscommand.与价值。

    系统(['set path ='myPath“& &”doscommand.])
  • 要在后台执行操作系统命令,请包括尾随字符,,在命令争论。例如,类型'记事本 &'.退出状态立即返回到地位多变的。此语法对于在运行时需要交互式用户命令输入的控制台程序非常有用,并且在MATLAB命令窗口中不会正确运行。

    如果命令包括尾随字符,然后cmdout.是空的。

  • 系统命令使用与启动MATLAB所用的凭证相同的凭证。为程序设置凭据myprogram.exe.需要管理员权限,输入:

    系统('cmd / c myprogram.exe');

UNIX提示和限制

  • Matlab使用shell程序来执行给定的命令。它通过检查系统上的环境变量确定要使用的shell程序。Matlab首先检查matlab_shell.变量,如果为空或未定义,则检查.如果Matlab使用也是空的或没有定义的/ bin / sh

  • 系统功能重定向斯丁命令默认情况下。该重定向还将MATLAB脚本命令和键盘输入前置缓冲区传递给被调用的命令,同时系统函数执行。此行为可能导致损坏的输出系统不立即完成执行。禁用斯丁以及预输入重定向,包括格式化文本< / dev / null在调用调用命令中。

  • 中覆盖环境变量系统命令。语法取决于UNIX®壳。例如,使用BASH shell,下面的代码设置小路变量来myPath然后调用系统命令命令与价值。

    系统([' = '出口路径myPath''命令])
  • 要在后台执行操作系统命令,请包括尾随字符,,在命令争论。例如,类型'emacs&'.退出状态立即返回到地位多变的。此语法对于在运行时需要交互式用户命令输入的控制台程序非常有用,并且在MATLAB命令窗口中不会正确运行。

    如果命令包括尾随字符,然后cmdout.是空的。

之前介绍过的R2006a