2016-11-16批处理学习

常用的批处理命令:

  • REM:

REM 是个注释命令一般是用来给程序加上注解的,该命令后的内容在程序执行的时候将不会被显示和执行。

  • ECHO:

@字符放在命令前将关闭该命令回显,无论此时ECHO是否为打开状态。
ECHO的作用有如下:
1、打开回显或关闭回显功能
格式:ECHO on或者ECHO off
如果想关闭“ECHO off”自身的显示,则需要在该命令前加上@
2、显示当前ECHO设置状态
格式:ECHO
3、ECHO 信息内容
4、输出空格
格式:ECHO.相当于在输出一个空格\
5、新建文件或者增加文件内容
格式:
ECHO 文件内容>文件名 新建文件
ECHO 文件内容>>文件名 追加内容到文件当中
6、另喇叭鸣响
格式:ECHO ^G

  • PAUSE

暂停,如果要显示其他提示语,可以这样子:
ECHO 提示语 &PAUSE>nul

  • errorlevel

程序返回码
ECHO %errorlevel%
每个命令结束时,可用这个查看命令返回码,默认为0,出错的时候会为1

  • title

设置命令窗口的标题
格式:title 标题

  • color

设置控制台的背景颜色和字体颜色
格式:COLOR 12
需要传入两个参数第一个是背景颜色,第二个是字体颜色
0 = 黑色 8 = 灰色
1 = 蓝色 9 = 淡蓝色
2 = 绿色 A = 淡绿色
3 = 湖蓝色 B = 淡浅绿色
4 = 红色 C = 淡红色
5 = 紫色 D = 淡紫色
6 = 黄色 E = 淡黄色
7 = 白色 F = 亮白色

  • start 命令

批处理中调用外部程序的命令,外部程序会在新窗口中运行,批处理程序继续往下执行,如果需要等待外部程序执行完成后才继续执行则用:start explorer

  • CALL

用来在批处理执行过程中调用另一个批处理,当另一个批处理执行完后再继续执行原来的批处理
格式:
CALL command调用一条批处理命令,和直接执行命令效果一样
CALL [drive:][path]filename [batch-parameters]
调用其他批处理,filename参数必须具有.bat或者.cmd的扩展名

  • IF语句

格式:
IF [NOT] ERRORLEVEL number command
IF [NOT] string1==string2 command
IF [NOT]EXIST filename command
(1). IF [NOT] ERRORLEVEL number command
IF ERRORLEVE 1 command1
IF ERRORLEVE 0 command2
(2).IF [NOT] string1==string2 command
string1和string2都为字符的数据,区分英文字符的大小写
(3).IF [NOT]EXIST filename command
判断文件存不存在

  • setocal

批处理读取命名时是按行读取的,用一对圆括号闭合的所有语句也看做是一行,在处理完成之前首先得完成预处理工作,这其中就包括了对该命令行中的变量赋值。而为了能够感知环境变量的动态变化批处理设计了变量延迟。
setlocal enabledelayedexpansion
do ( set a=%%i echo !a! )
pause
这里开启了变量延迟,并用’!!’把变量扩起来,因此得到我们预期的结果,如果不用则全部输出 ECHO 处于关闭状态

  • ATTRIB 显示或更改文件属性

ATTRIB [+R|-R] [+A|-A] [+S|-S] [+H|-H] [[drive:] [path] filename] [/S [/D]]
+ 设置属性。 - 清除属性。
R 只读文件属性。
A 存档文件属性。
S 系统文件属性。
H 隐藏文件属性。
[drive:][path][filename] 指定要处理的文件属性。 /S 处理当前文件夹及其子文件夹中的匹配文件。 /D 也处理文件夹。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
执行批处理程序中的条件处理。 IF [NOT] ERRORLEVEL number command IF [NOT] string1==string2 command IF [NOT] EXIST filename command NOT 指定只有条件为 false 的情况下, Windows XP 才 应该执行该命令。 ERRORLEVEL number 如果最后运行的程序返回一个等于或大于 指定数字的退出编码,指定条件为 true。 string1==string2 如果指定的文字字符串匹配,指定条件为 true。 EXIST filename 如果指定的文件名存在,指定条件为 true。 command 如果符合条件,指定要执行的命令。如果指定的 条件为 FALSE,命令后可跟一个执行 ELSE 关键字后的命令的 ELSE 命令。 ELSE 子句必须在 IF 之后出现在同一行上。例如: IF EXIST filename. ( del filename. ) ELSE ( echo filename. missing. ) 因为 del 命令需要用一个新行终止,以下子句不会有效: IF EXIST filename. del filename. ELSE echo filename. missing 由于 ELSE 命令必须与 IF 命令的尾端在同一行上,以下子句也 不会有效: IF EXIST filename. del filename. ELSE echo filename. missing 如果都放在同一行上,以下子句有效: IF EXIST filename. (del filename.) ELSE echo filename. missing 如果命令扩展名被启用,IF 会如下改变: IF [/I] string1 compare-op string2 command IF CMDEXTVERSION number command IF DEFINED variable command 其中,比较运算符可以是: EQU - 等于 NEQ - 不等于 LSS - 小于 LEQ - 小于或等于 GTR - 大于 GEQ - 大于或等于 及 /I 开关;如果该开关被指定,则说明要进行的字符串比较不分 大小写。/I 开关可以用于 IF 的 string1==string2 的形式上。这些 比较都是通用的;原因是,如果 string1 和 string2 都是由数字 组成的,字符串会被转换成数字,进行数字比较。 CMDEXTVERSION 条件的作用跟 ERRORLEVEL 的一样,除了它 是在跟与命令扩展名有关联的内部版本号比较。第一个版本 是 1。每次对命令扩展名有相当大的增强时,版本号会增加一个。 命令扩展名被停用时,CMDEXTVERSION 条件不是真的。 如果已定义环境变量,DEFINED 条件的作用跟 EXISTS 的一样, 除了它取得一个环境变量,返回的结果是 true。 如果没有名为 ERRORLEVEL 的环境变量,%ERRORLEVEL% 会扩充为 ERROLEVEL 当前数值的字符串表达式;否则,您会得到 其数值。运行程序后,以下语句说明 ERRORLEVEL 的用法: goto answer%ERRORLEVEL% :answer0 echo Program had return code 0 :answer1 echo Program had return code 1 您也可以使用以上的数字比较: 如果没有名为 CMDCMDLINE 的环境变量,%CMDCMDLINE% 将在 CMD.EXE 进行任何处理前扩充为传递给 CMD.EXE 的原始 命令行;否则,您会得到其数值。 如果没有名为 CMDEXTVERSION 的环境变量, %CMDEXTVERSION% 会扩充为 CMDEXTVERSION 当前数值的 字串符表达式;否则,您会得到其数值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值