Windows批处理编程

来源:互联网 发布:java面向对象思维导图 编辑:程序博客网 时间:2024/04/30 17:25

由于经常会碰到批处理文件,因此尝试去学习了下批处理编程。
原文见这里,Guide to Windows Batch Scripting

::关闭回显@echo off::setlocal保证变量是局部而不会覆盖全局setlocal enableextensions::该批处理文件名,不包括后缀SET me=%~n0::所在目录的绝对路径SET parent=%~dp0::去掉参数(参数包括批处理文件名,为第0个参数)的引号set myvar=%~1::给参数去引号并加上绝对路径set myvar=%~f0::所在目录的绝对路径set myvar=%~dp1::该批处理文件名,包括后缀set myvar=%~nx0echo %myvar%::/A开关表示等号右侧为一个数学表达式set /A myvar=1+2::使用errorlevel变量检查上个命令的执行情况somefile.exeif %errorlevel% equ 9009 (    echo error - somefile.exe not found in your path)::条件执行,如果前面的命令执行成功则执行后者somefile.exe && echo somefile.exe succeeded!::失败则执行后者SomeCommand.exe || ECHO SomeCommand.exe failed with return code %ERRORLEVEL%::执行失败则退出,/B开关表示仅仅退出当前script的执行环境而不是命令提示程序SomeCommand.exe || EXIT /B 1::同上,:EOF是一个内置labelSomeCommand.exe || GOTO :EOF::命令的错误码应该定义为2的幂,便于一个返回的错误码标示多个问题SET /A errno=0SET /A ERROR_HELP_SCREEN=1SET /A ERROR_SOMECOMMAND_NOT_FOUND=2SET /A ERROR_OTHERCOMMAND_FAILED=4::变量可以使用^|=进行位或(bitwise or)SomeCommand.exeIF %ERRORLEVEL% NEQ 0 SET /A errno^|=%ERROR_SOMECOMMAND_NOT_FOUND%OtherCommand.exeIF %ERRORLEVEL% NEQ 0 (    SET /A errno^|=%ERROR_OTHERCOMMAND_FAILED%)EXIT /B %errno%
0 0
原创粉丝点击