位置: 编程技术 - 正文
可以看到,CMD对:.的处理跟+[]/不太一样,如果是+[]/,CMD会直接把它们从命令中删除并且添加到原有参数的前面;而如果是:.并且CMD拓展是开启的话,那么会多调用一次GetFileAttributes函数获取文件属性,多调用一次函数自然会多花一些时间,所以第三组的效率又稍稍比第二组的低些。
再来解释一下为什么echo.有时候会引起错误。文件名中是不能出现:.的,理论上GetFileAttributes函数都应该返回-1(INVALID_FILE_ATTRIBUTES),然而事实却不是如此,我也不知道这算不算GetFileAttributes函数的BUG: 如果你测试一下上面的C程序,就会发现echo.那行返回的不是-1。 如果GetFileAttributes函数返回的不是-1(一般表示文件不存在),也不是0×(表示文件是文件夹),那么命令还是会保持原来的样子,当成外部命令运行。 ‘echo.' is not recognized as an internal or external command, operable program or batch file. 关闭了CMD拓展,没有问题。 echo是文件夹而不是文件,没有问题。 最后总结一下吧,在大部分情况下,你都应该使用第一组的echo, echo; echo=来进行输出,它们的效率跟echo (空格)是一样的,并且可以用来输出on或者off,在变量为空时还能输出空行。 但是echo, echo; echo=却不能输出以/?开头的行,如果你需要,可以使用第二组的echo+ echo/ echo[ echo],它们的效率低一些,但能保证原样输出。 我不建议你使用第三组的echo: echo. echo,如果你仍然要像垃圾教程里面那样用,我也没有办法。作者: Demon 链接:
推荐整理分享批处理技术内幕 ECHO命令介绍(什么是批处理模式),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:批处理是什么意思,批处理技术有哪些,什么是批处理模式,批处理是什么,批处理的好处,批处理的好处,批处理模式的例子,批处理模式的例子,内容如对您有帮助,希望把文章链接给更多的朋友!
win/winXP 停止打印的bat @ECHO请先关闭打印机电源@ECHOOFFPAUSENETSTOPSPOOLERDELC:WINDOWSsystemspoolPRINTERS*.*/QNETSTARTSPOOLER
ARP本机绑定的bat代码 @echooffifexistipconfig.txtdelipconfig.txtipconfig/allipconfig.txtifexistphyaddr.txtdelphyaddr.txtfind"PhysicalAddress"ipconfig.txtphyaddr.txtfor/f"skip=2tokens="%%Min(phyaddr.txt)dosetMac=%%Mifexis
dos命令for用法详解 for帮助文档对一组文件中的每一个文件执行某个特定命令。FOR%variableIN(set)DOcommand[command-parameters]%variable指定一个单一字母可替换的参数。(set)指定一个或
标签: 什么是批处理模式
本文链接地址:https://www.jiuchutong.com/biancheng/375017.html 转载请保留说明!友情链接: 武汉网站建设