VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > 批处理教程 >
  • 批处理文件编写

批处理

批处理文件是以.bat或者.cmd为扩展名的文件,其中可以包含各种命令。
批处理有的时候是非常有用的,具体我就不举例子了。
马上进入正题,下面我们看看批处理文件的一些知识。
Application Error:一般程序返回0表示没有发生问题。否则返回1或者其他数字来表示有
错误发生。

批处理基本指令:

Call:
主要工作是从一个批处理文件调用其他的批处理文件,可以传递参数给另外的批处理,且并不等待调用返回。
语法:call [[Drive:][Path] FileName [BatchParameters]] [:label [arguments]]
其中有个label是可选的,

Echo
这个不用介绍了。回显的开关。语法:Echo [on/off] message.
如果要显示一个空行,可用  echo.  

Endlocal
在.bat,.cmd文件的默认隐式的有这么一句,来回复当前的环境变量到最近一次Setloacl处。将环境变量的修改控制在bat文件内部。

Setlocal
开始控制环境变量在当前的脚本中。遇到Endlocal时释放,恢复原先状态。如果没有Setlocal,那么对环境的修改将在
正果bat执行过程中有效。

For
这里的for和我们高级语言中的是不同的。这里仅仅能作用于对指定的一组文件的操作循环。
语法:for [/R/F/D/L] {%variable|%%variable} in (set) do command [ CommandLineOptions]
/R:递归
/D:仅对目录
/L: for /L {%% | %}variable in (start#,step#,end#) do command [CommandLineOptions]
/F:比较复杂了

Goto
goto :label

If
语法:
if [not] errorlevel number command [else expression]

if [not] string1==string2 command [else expression]

if [not] exist FileName command [else expression]

If command extensions are enabled, use the following syntax:

if [/i] string1 CompareOp string2 command [else expression]

if cmdextversion number command [else expression]

if defined variable command [else expression]

预定义好的变量: %cmdcmdline%  : cmd.exe路径
%cmdextversion% : cmdextversion
%errorlevel% : errorlevel
所以 if defined errorlevel 为true
关于else语句格式:
if EXIST c:\1.txt (
    del c:\1.txt
) else (   
    echo filename. missing
)
必须符合行和空格的要求。else后空格必须有
实际运行时的样子:if EXIST c:\1.txt (del c:\1.txt )  else (echo filename. missing)

Pause:
暂停批处理程序,并给以提示信息。
 example:
        @echo off
    @echo will copy c: to d:
    @echo are you sure ?[y/n]
    get
    if %1%==y (
        pause
        @echo coping....
    )else (
        @echo stopped!
    )
    保存成test.bat.
    运行: test.bat y



Rem:注释
语法: Rem [message]

Shift:
调整批处理时参数位置。

批处理程序参数:
你可以在批处理程序的任何地方使用参数,参数表示为%n,n的范围从0到9.其中 %0表示的是批处理文件的文件名。
其他参数根据运行时输入的参数决定。
如有demo.bat c:\。那么参数%1的参数值就是c:\。如此类推。总计可以有8个。
通过Modifer访问参数。系统内置了对参数的扩展,如,你可以通过输入%~z1这样的方式获取1代表的文件的大小。
具体查文档:http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/batch.mspx?mfr=true
主要是针对文件的。比如获取属性(a),时间(t),大小(z)等.

主要参考资料:http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/batch.mspx?mfr=true

出处:https://www.cnblogs.com/flyingchen/archive/2007/10/28/940743.html

相关教程