求指教在cmd里call的用法

我在一个批处理程序中看到这么一行
call format c: /q /u /autotest >nul
请问这儿的call起什么作用
拿出来在cmd里执行执行结果和没有call一样

/////////////////////////////////////////////
call attrib -h -r c:\autoexec.bat >nul
echo @echo off >c:\autoexec.bat
echo call format c: /q /u /autotest >nul >>c:\autoexec.bat
echo call deltree /y c: >nul >>c:\autoexec.bat
/////////////////////////////////////////////

BIG阳
浏览 825回答 2
2回答

慕标琳琳

从批处理程序调用另一个批处理程序。CALL [drive:][path]filename [batch-parameters]batch-parameters 指定批处理程序所需的命令行信息。如果命令扩展名被启用,CALL 会如下改变:CALL 命令现在将卷标当作 CALL 的目标接受。语法是:CALL:label arguments一个新的批文件上下文由指定的参数所创建,控制在卷标被指定后传递到语句。您必须通过达到批脚本文件末两次来 "exit" 两次。第一次读到文件末时,控制会回到 CALL 语句的紧后面。第二次会退出批脚本。键入 GOTO /?,参看 GOTO : EOF 扩展名的描述,此描述允许您从一个批脚本返回。另外,批脚本文本参数参照(%0、%1、等等)已如下改变:批脚本里的 %* 指出所有的参数(如 %1 %2 %3 %4 %5 ...)批参数(%n)的替代已被增强。您可以使用以下语法:%~1 - 删除引号("),扩充 %1%~f1 - 将 %1 扩充到一个完全合格的路径名%~d1 - 仅将 %1 扩充到一个驱动器号%~p1 - 仅将 %1 扩充到一个路径%~n1 - 仅将 %1 扩充到一个文件名%~x1 - 仅将 %1 扩充到一个文件扩展名%~s1 - 扩充的路径指含有短名%~a1 - 将 %1 扩充到文件属性%~t1 - 将 %1 扩充到文件的日期/时间%~z1 - 将 %1 扩充到文件的大小%~$PATH : 1 - 查找列在 PATH 环境变量的目录,并将 %1扩充到找到的第一个完全合格的名称。如果环境变量名未被定义,或者没有找到文件,此组合键会扩充到空字符串可以组合修定符来取得多重结果:%~dp1 - 只将 %1 扩展到驱动器号和路径%~nx1 - 只将 %1 扩展到文件名和扩展名%~dp$PATH:1 - 在列在 PATH 环境变量中的目录里查找 %1,并扩展到找到的第一个文件的驱动器号和路径。%~ftza1 - 将 %1 扩展到类似 DIR 的输出行。在上面的例子中,%1 和 PATH 可以被其他有效数值替换。%~ 语法被一个有效参数号码终止。%~ 修定符不能跟 %*使用

精慕HU

Call语句调用另一个(子)程序,并等待其执行后返回正确或错误结果.返回的位置是Call语句的末尾.Start语句调用另一个(子)程序,但是不需返回.请比较:call attrib -h -r c:\auto.batstart attrib -h -r c:\auto.bat或:call attrib -h -r c:\autoexec.batstart attrib -h -r c:\autoexec.bat
打开App,查看更多内容
随时随地看视频慕课网APP