DOS 批处理高级教程精选合编 ( 上 )
DOS 批处理高级教程精选合编 20080331 ( windows Xp ) ( 转 )
目录
第一章 批处理基础
第一节 常用批处理内部命令简介
1 、 REM 和 ::
2 、 ECHO 和 @
3 、 PAUSE
4 、 ERRORLEVEL
5 、 TITLE
6 、 COLOR
7 、 mode 配置系统设备
8 、 GOTO 和 :
9 、 FIND
10 、 START
11 、 assoc 和 ftype
12 、 pushd 和 popd
13 、 CALL
14 、 shift
15 、 IF
16 、 setlocal 与 变量延迟
17 、 ATTRIB 显示或更改文件属性
第二节 常用特殊符号
1 、 @ 命令行回显屏蔽符
2 、 % 批处理变量引导符
3 、 > 重定向符
4 、 >> 重定向符
5 、 < 、 >& 、 <& 重定向符
6 、 | 命令管道符
7 、 ^ 转义字符
8 、 & 组合命令
9 、 && 组合命令
10 、 || 组合命令
11 、 "" 字符串界定符
12 、 , 逗号
13 、 ; 分号
14 、 () 括号
15 、 ! 感叹号
第二章 FOR 命令详解
一、基本格式
二、参数 /d
三、参数 /R
四、参数 /L
五、参数 /F
第三章 FOR 命令中的变量
一、 ~I - 删除任何引号 (") ,扩展 %I
二、 %~fI - 将 %I 扩展到一个完全合格的路径名
三、 %~dI - 仅将 %I 扩展到一个驱动器号
四、 %~pI - 仅将 %I 扩展到一个路径
五、 %~nI - 仅将 %I 扩展到一个文件名
六、 %~xI - 仅将 %I 扩展到一个文件扩展名
七、 %~sI - 扩展的路径只含有短名
八、 %~aI - 将 %I 扩展到文件的文件属性
九、 %~tI - 将 %I 扩展到文件的日期 / 时间
十、 %~zI - 将 %I 扩展到文件的大小
十一、 %~$PATH:I
第四章 批处理中的变量
一、系统变量
二、自定义变量
第五章 set 命令详解
一、用 set 命令设置自定义变量
二、用 set 命令进行简单计算
三、用 set 命令进行字符串处理
1 、字符串替换
2 、字符串截取
第六章 if 命令讲解
第一种用法: IF [NOT] ERRORLEVEL number command
第二种用法: IF [NOT] string1==string2 command
第三种用法: IF [NOT] EXIST filename command
第四种用法: IF 增强的用法
第七章 DOS 编程高级技巧
一、界面设计
二、 if … else … 条件语句
三、循环语句
四、子程序
五、用 ftp 命令实现自动下载
六、用 7-ZIP 实现命令行压缩和解压功能
七、调用 VBScript 程序
八、将批处理转化为可执行文件
九、时间延迟
1 、利用 ping 命令延时
2 、利用 for 命令延时
3 、利用 vbs 延迟函数,精确度毫秒,误差 1000 毫秒内
4 、仅用批处理命令实现任意时间延迟,精确度 10 毫秒,误差 50 毫秒内
十、模拟进度条
十一、特殊字符的输入及应用
十二、随机数( %random% )的应用技巧
十三、变量嵌套 与 命令嵌套
1 、更正了所有的错别字,适当排版,增加条理性。
2 、运行改善所有例子,并纠正了一些语法错误。
3 、补充了一些不完全的地方。
4 、第一章参考了网上许多教程汇编而成。
5 、 20080229 补充了变量延迟的问题。
6 、 20080305 修改了参数 usebackq 的说明
7 、 20080310 增加了特殊字符的输入及应用
8 、 20080311 修改了子程序部分
9 、 20080313 修改了 echo 说明,归纳了 9 个应用方法
10 、 20080320 增加任意时间延迟方法
11 、 20080321 增加了 set 计算中十进制与八进制混淆问题的说明
12 、 20080325 修正 dos 数值计算范围: -2147483648 至 2147483647 ,即 -2^31 ~ 2^31-1
13 、 20080326 增加随机数的应用
14 、 20080327 修改了 “ if 增强用法 ” 中的 defined 语句说明
15 、 20080402 增加变量嵌套与命令嵌套,重要技巧之一。
不断学习中,不断更新中。
======================================================================
第一章 批处理基础
第一节 常用批处理内部命令简介
批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本
文件,其扩展名为 BAT 或者 CMD 。这些命令统称批处理命令。
小知识:可以在键盘上按下 Ctrl+C 组合键来强行终止一个批处理的执行过程。
了解了大概意思后 , 我们正式开始学习 . 先看一个简单的例子 !
@echo off
echo " 欢迎来到非常 BAT!"
pause
把上面的 3 条命令保存为文件 test.bat 或者 test.cmd 然后执行 ,
他就会在屏幕上显示以下二行话 :
欢迎来到非常 BAT!
请按任意键继续 . . .
这就是一个简单批处理文件了,这个批处理文件一共就用了 2 条命令 "echo" 和 "pause" 还
有一个特殊符号 "@"
从上面这个简单的批处理中 , 我们可以发现其实批处理就是运用一些含有特殊意义的符号和
一些完成指定功能的命令组合而成 , 那么在批处理中有多少这样的特殊符号和功能命令呢?
我们现在就来仔细了解一下一些最常用的 !
( 以下内容来源网络 , 请各位仔细阅读 , 好进入下节的实例说明 )
======================================================
批处理的常见命令(未列举的命令还比较多,请查阅帮助信息)
1 、 REM 和 ::
2 、 ECHO 和 @
3 、 PAUSE
4 、 ERRORLEVEL
5 、 TITLE
6 、 COLOR
7 、 mode 配置系统设备
8 、 GOTO 和 :
9 、 FIND
10 、 START
11 、 assoc 和 ftype
12 、 pushd 和 popd
13 、 CALL
14 、 shift
15 、 IF
16 、 setlocal 与 变量延迟
17 、 ATTRIB 显示或更改文件属性
介绍命令
1 、 REM 和 ::
REM 为注释命令,一般用来给程序加上注解,该命令后的内容不被执行,但能回显。
其次 , :: 也可以起到 rem 的注释作用 , 而且更简洁有效 ; 但有两点需要注意:
第一 , 任何以冒号 : 开头的字符行 , 在批处理中都被视作标号 , 而直接忽略其后的所有内容。
有效标号:冒号后紧跟一个以字母数字开头的字符串, goto 语句可以识别。
无效标号:冒号后紧跟一个非字母数字的一个特殊符号, goto 无法识别的标号,可以起到 注
释作用,所以 :: 常被用作注释符号,其实 :+ 也可起注释作用。
第二 , 与 rem 不同的是 , :: 后的字符行在执行时不会回显 , 无论是否用 echo on 打开命令 行
回显状态 , 因为命令解释器不认为他是一个有效的命令行 , 就此点来看 , rem 在某些场合下
将比 :: 更为适用 ; 另外 , rem 可以用于 config.sys 文件中。
行内注释格式: % 注释内容 % (不常用,慎用)
2 、 ECHO 和 @
@ 字符放在命令前将关闭该命令回显,无论此时 echo 是否为打开状态。
echo 命令的作用列举如下:
( 1 )打开回显或关闭回显功能
格式 :echo [{ on|off }]
如果想关闭 “ ECHO OFF ” 命令行自身的显示,则需要在该命令行前加上 “ @
”
。
( 2 )显示当前 ECHO 设置状态
格式 :echo
( 3 )输出提示信息
格式: ECHO 信息内容
上述是 ECHO 命令常见的三种用法, 也是大家熟悉和会用的, 但作为 DOS 命令淘金者你 还
应该知道下面的技巧:
( 4 )关闭 DOS 命令提示符
在 DOS 提示符状态下键入 ECHO OFF ,能够关闭 DOS 提示符的显示使屏幕只留下光标, 直
至键入 ECHO ON ,提示符才会重新出现。
( 5 )输出空行,即相当于输入一个回车