主要内容

系统

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

描述

状态=系统(命令)调用操作系统执行指定的命令。操作等待命令完成执行之前返回的命令的退出状态状态变量。

函数开始一个新的cmd /壳过程中,执行命令,出口流程,并返回到MATLAB®的过程。更新的系统环境命令MATLAB是不可见的。

例子

(状态,cmdout]=系统(命令)还返回命令的输出cmdout。这个语法是最有用的命令,不需要用户输入,如dir

(状态,cmdout]=系统(命令,“回声”)也显示(回声)的命令输出MATLAB命令窗口。这个语法是最有用的命令,要求用户输入和MATLAB命令窗口中正确运行。

(状态,cmdout]=系统(___,EnvName1,EnvVal1、……EnvNameN,EnvValN)设置操作系统环境变量的值。如果EnvName存在一个环境变量,那么系统取代它的当前值EnvVal。如果EnvName不存在,那么系统创建一个环境变量EnvName和分配EnvVal到它。

系统通过EnvNameEnvVal操作系统不变。特殊字符,如;,/,:,美元,%,未展开的EnvVal

例子

全部折叠

显示当前使用的文件夹cd命令。一个状态0表示命令成功完成。MATLAB返回一个特征向量,其中包含当前文件夹中cmdout

命令=“cd”;(地位、cmdout) =系统(命令)

创建一个文件夹命名mynew,叫mkdir命令和退出状态保存到变量中。一个状态零表示mynew已经成功地创建了文件夹。

命令=“mkdir mynew”;状态=系统(命令)

开放微软®记事本并立即返回退出状态通过附加一个MATLAB & (&)记事本命令。一个状态零表明记事本成功启动。

状态=系统(‘记事本&’)

执行dir命令和视图退出状态和命令的输出。cmdout包含命令输出。

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

试图执行一个命令badcmd。然后,查看状态结果输出参数。当你调用一个无效的命令,状态显示失败,结果包含了DOS错误消息。

[状态,结果]=系统(“badcmd”)

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

命令=“谁”;(地位、cmdout) =系统(命令);状态
状态= 0

输入参数

全部折叠

操作系统命令,指定为一个字符串或一个字符向量。的命令系统中执行shell,它可能不是你的壳开始MATLAB。

例子:“dir”

例子:“ls”

环境变量名称,指定为一个字符串标量或特征向量。

的最大字符数的名字是215- 2或32766。如果的名字包含了=字符,然后系统抛出一个错误。环境变量的行为=的名字不是定义。

例子:“路径”

环境变量的值,指定为一个字符串标量,特征向量,或失踪。删除一个环境变量,设置它的值失踪

例子:“C: \ TEMP”

输出参数

全部折叠

命令的退出状态,作为要么返回0或一个非零的整数。当命令成功,状态0。否则,状态是一个非零的整数。

  • 如果命令包括&字符(&),然后状态是退出状态什么时候命令开始

  • 如果命令不包括&字符(&),然后状态的退出状态吗命令完成。

操作系统命令的输出,作为一个特征向量返回。系统外壳可能不正确表示unicode®字符。

限制

  • MATLAB的编码将字符转换为您的操作系统shell接受。的输出命令转化为MATLAB编码显示在命令窗口。如果你得到意想不到的结果从命令,输入命令参数直接在操作系统提示操作系统把您的输入。

  • 回调函数不是叫而系统命令执行。

更多关于

全部折叠

窗户提示和限制

  • ms - dos®不支持UNC路径名金宝app。因此,如果当前文件夹中使用一个UNC路径名,然后运行系统用一个DOS命令依赖于当前文件夹失败。为了解决这个限制,改变文件夹映射的驱动器之前调用系统

  • 您可以覆盖一个环境变量系统命令。例如,下面的代码集路径变量来myPath,然后调用系统命令dosCommand与价值。

    系统([' = '设置路径myPath“& &”dosCommand])
  • 在后台执行操作系统命令,包括字符之后,&,在命令论点。例如,类型‘记事本&’。退出状态立即返回状态变量。这个语法是有用的控制台程序,要求用户交互式命令输入运行时,不正确地运行在MATLAB命令窗口。

    如果命令包括落后&字符,然后cmdout是空的。

  • 系统命令使用相同的凭证凭证用于启动MATLAB。为项目设置凭证myprogram.exe需要管理员权限,类型:

    系统(“cmd / C myprogram.exe”);

UNIX提示和限制

  • MATLAB使用shell程序执行给定的命令。它决定使用哪个shell程序通过检查系统环境变量。MATLAB首先检查MATLAB_SHELL变量,如果空或没有定义,那么检查壳牌。如果壳牌也空或没有定义,MATLAB使用吗/bin/sh

  • 系统重定向功能stdin命令默认情况下。这种重定向也通过MATLAB脚本命令和键盘输入缓冲区而被调用的命令系统函数执行。这种行为会导致损坏输出时系统不完整的立即执行。禁用stdin输入重定向,包括格式化文本< / dev / null在调用调用命令。

  • 您可以覆盖一个环境变量系统命令。的语法取决于UNIX®壳。例如,使用BASH shell,下面的代码集路径变量来myPath,然后调用系统命令命令与价值。

    系统([' = '出口路径myPath”;”命令])
  • 在后台执行操作系统命令,包括字符之后,&,在命令论点。例如,类型“emacs &”。退出状态立即返回状态变量。这个语法是有用的控制台程序,要求用户交互式命令输入运行时,不正确地运行在MATLAB命令窗口。

    如果命令包括落后&字符,然后cmdout是空的。

版本历史

之前介绍过的R2006a

全部展开