文档

dos

执行DOS命令并返回输出

语法

状态= dos(命令)
(地位、cmdout) = dos(命令)
(地位、cmdout) = dos(命令,“回声”)

描述

例子

状态= dos (命令执行指定的MS-DOS®命令窗口®的退出状态,并等待命令执行完成后返回状态变量。

例子

状态cmdout) = dos (命令也返回DOS命令的输出cmdout.这种语法对于不需要用户输入的DOS控制台命令非常有用,例如dir

例子

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

例子

全部折叠

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

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

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

开放微软®记事本并立即将退出状态返回到MATLAB,方法是附加一个& ()记事本命令。

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

状态表示记事本启动成功。

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

(地位、cmdout) = dos (“dir”);地位,cmdout
status = 0 cmdout = Volume in drive C is OSDisk Volume Serial Number is XXX-XXXX04/10/2012 12:08 PM < dir > ..04/21/2011 09:24 AM 171基地。mat 02/08/2010 05:14 PM 73 baseball.dat 04/10/2012 12:08 PM 474 collatz。asv 04/10/2012 11:56 AM 480 collatz。M…

当你调用一个有效的DOS命令时,状态显示成功,cmdout包含回显信息。

试图执行被调用的命令喷火.然后,查看状态结果输出参数。

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

当你调用一个无效的DOS命令时,状态显示失败,结果包含DOS错误消息。

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

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

输入参数

全部折叠

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

例子:“dir”

输出参数

全部折叠

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

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

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

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

限制

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

  • MS-DOS不支持UNC路径名。万博1manbetx因此,如果当前文件夹使用UNC路径名,则运行dos用一个DOS命令依赖于当前文件夹的操作失败。MATLAB返回这个错误:

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

提示

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

    请注意

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

之前介绍过的R2006a

这个话题有用吗?