BAT CMD批处理文件脚本总结2010-11-20 博客园 曾哥1.综述(1)、“.bat”: 这是微软的第一个批处理文件的后缀名,在几乎所有的 Windows 内都能运行。(2)、“.cmd”: 是为Windows NT 设计的命令行脚本,为Cmd.exe shell 而设计的,对于COMMAND.COM不具有向后兼容性。(3)、目前所知道的.cmd 和 .bat文件的区别是对ERRORLEVEL变量的改变:当 Command Extensions (命令行扩展)处于enabled状态时,哪怕是.cmd文件中一 个成功执行的命令都可以改变ERRORLEVEL的值,而在.bat 文件中ERRORLEVEL 变 量只有在遇到错误的时候才发生改变。2.@echo off/echo on(1). “echo” 用来在控制台上显示信息。(2). “echo.” 用来显示一空行。(注意:echo和右下角的点之间没有空格 ,如果有空格就变成显示句点了。)(3). “echo off”: 在使用了这行命令之后,其他命令都只显示命令的结果 ,而不显示命令本身。(4). “echo on”: 这是默认值,表示显示所有的命令结果和命令行本身。(5).“echo”: 当执行echo而不带任何参数的时候,会显示echo的打开或关 闭的状态:“ECHO is on” 或者 “ECHO is off”。(6). “@”:@ 符号表示不显示本行的命令本身。如果只用echo off,虽然 echo off后面的命令不显示出来,只显示命令的结果,但是echo off它自己确被 显示出来了,这就是使用@echo off的原因。3.SETLOCAL/ENDLOCAL(1). SETLOCAL用来控制批处理文件中变量的可见性。就是高级语言常说的局 部变量。凡是在SETLOCAL和ENDLOCAL之间的变量都是局部的,以免被其他脚本文 件改变变量的值,而没有使用这个标示的都是Global visible(全局变量),很 可能被其他文件所改变。下面的例子很好的说明了这一点。@echo off
setlocal
set version=1.0
echo the first version is %version%
endlocal
echo the second version is %version%
::The follow is global variable
set version=2.0
echo the third version is %version%
执行这个文件,将输出:the first version is 1.0
the second version is
the third version is 2.0