文档

dos

执行DOS命令并返回输出

语法

状态= dos(命令)
[status,cmdout] = dos(命令)
[status,cmdout] = dos(command,'-echo')

描述

例子

状态= dos (命令执行指定的MS-DOS®Windows命令®平台,并等待命令完成执行,然后将退出状态返回给状态变量。

例子

状态cmdout= do ()命令还将DOS命令的输出返回给cmdout。这种语法对于不需要用户输入的DOS控制台命令最有用,例如dir

例子

状态cmdout= do ()命令,“回声”)还显示(回显)MATLAB中的命令输出®命令窗口。此语法对于需要用户输入并在MATLAB命令窗口中正确运行的DOS控制台命令最有用,例如电脑及相关知识

例子

全部折叠

创建一个名为mynew,调用DOS命令并将退出状态保存到一个变量。

命令=“mkdir mynew”;状态= dos(命令)
状态= 0

状态的0表示mynew创建文件夹成功。

打开微软®并立即通过附加&()将退出状态返回给MATLAB ()&)到记事本命令。

状态= dos()‘记事本&’
状态= 0

状态的值为0表示记事本启动成功。

执行DOS命令,dir,查看退出状态和回显信息。

[status,cmdout] = dos(“dir”);地位,cmdout
cmdout = C盘上的卷是OSDisk卷序列号是XXX-XXXX目录C:\my_MATLAB_files 04/10/2012 12:08 PM 。04/10/2012 12:08 PM < dir > ..04/21/2011 09:24 AM 171基地。2012年4月10日12:08 PM 474 collatzasv 04/10/2012 11:56 AM collatz。……

当你调用一个有效的DOS命令时,状态表示成功和cmdout包含命令输出。

尝试执行一个名为喷火。然后,查看状态结果输出参数。

[状态,结果]= dos(“foo”);状态,结果
结果= 'foo'不能被识别为内部或外部命令、可操作程序或批处理文件。

当您调用无效的DOS命令时,状态表示失败和结果包含DOS错误消息。

在命令执行时在命令窗口中显示命令输出和提示,并将命令输出分配给结果变量。

[状态,结果]= dos(“薪酬”“回声”);
第一个要比较的文件名:collatz。m collatz。m第二个要比较的文件名:collatz。asv collatz。asv选项:/A /A选项:比较collatz。M和collatz.asv…文件比较OK比较更多文件(Y/N) ?N N b> >

输入参数

全部折叠

MS-DOS命令,指定为字符向量。该命令可以是打开用户界面的Windows UI程序,也可以是通常在DOS命令窗口中运行的DOS控制台命令。该命令在DOS shell中执行,这可能不是您启动MATLAB的shell。

例子:“dir”

输出参数

全部折叠

命令退出状态,返回为0或者是非零整数。命令执行成功后,状态0。否则,状态是一个非零整数。

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

  • 如果命令不包括&字符(&),然后状态是否开启了出境状态命令完成。

操作系统命令的输出,作为字符向量返回。系统shell可能无法正确表示非unicode®字符。

限制

  • MATLAB将字符转换为操作系统外壳接受的编码。的输出命令转换为MATLAB编码,以便在命令窗口中显示。如果从命令中得到意想不到的结果,请输入命令参数,以查看操作系统如何处理您的输入。

  • MS-DOS不支持UNC路径名。金宝app因此,如果当前文件夹使用UNC路径名,则运行dos用DOS命令依赖于当前文件夹的操作失败。MATLAB返回以下错误:

    当当前目录是UNC路径名时,使用dos dos命令可能无法执行
    若要解决此限制,请在运行前将文件夹更改为映射驱动器dos或者一个函数调用dos

提示

  • 要在后台执行操作系统命令,请包含尾随字符,&,在…命令论证(例如,‘记事本&’)。退出状态立即返回到状态变量。此语法对于在运行时需要交互式用户命令输入的控制台程序非常有用,并且不能在MATLAB命令窗口中正确运行。

      注意:如果命令包括尾轴&字符,然后cmdout是空的。

R2006a之前引入

这个话题有帮助吗?