DOS批处理文件

DOS下的可执行文件有三种,分别是EXE,COM和BAT。其中,EXE和COM文件都是二进制形式的,只有BAT文件是文本形式的,可以直接阅读。因 此,BAT文件和以上二进制可执行文件相比,内容要简单的多。这些文件内包含着DOS命令的集合,通常叫作批处理文件。批处理文件的组成虽然比较简单,但 其用处非常大,使用也比较广泛。比如每次都执行一些相同的命令,您一定会觉得非常麻烦,而放在批处理文件中执行的话则轻松得多。AUTOEXEC.BAT 就是一个特殊的批处理文件,它在DOS的启动时自动运行,在系统的配置中发挥着非常大的作用。因此,要学好DOS,就要学好批处理文件。下面介绍批处理文 件的命令及其使用。

DOS自带的批处理命令:

@:将这个符号放在批文件中其它命令的前面,运行时将不显示命令本身。

如@ECHO OFF命令就在批文件首经常用到。

CALL:从一个批文件中调用另一个批文件,调用完后继续执行原来的批文件。

用法:CALL [批文件名]

注:也可以使用COMMAND /C命令完成同样的操作。

CHOICE:选择命令。这是一个DOS外部命令,但它主要用在批文件中。

CHOICE命令执行后将提示可选择的项目,这时通过一个按键来选则。

用法:CHOICE:[/C[:]按键表] [/N] [/S] [/T[:]选择值,秒数] [显示文本]

其中,/C表示可选则的按键,/N表示不要显示提示信息,/S表示大小写字符敏感方式,/T表示若在批定的时间内没有选则的话,自动执行/C中定义的某个选择值。显示文本是CHOICE命令执行时的提示信息。选择结果将用ERRORLEVEL值来表示。

ECHO:显示指定的信息。通常显示在屏幕上。

如ECHO Hello将在屏幕上显示Hello的字样。

另外,ECHO ON|OFF用来设置在批文件执行时是否显示命令本身。而ECHO OFF与@的意思一样,但它是一个单独的命令,而不能像@那样放在其它命令之前。

FOR:对于指定的文件运行相应的命令。

大家知道,DOS下许多命令支持通配符,如?和*,可以一次指定一批文件,非常方便。然而,并非所有的DOS命令都支持通配符,如TYPE(文件内容显示命令)就不支持。有了FOR命令就没有关系了,利于它可以使TYPE命令可以一次显示多个文件。

用法:FOR %变量名 IN (文件集) DO 命令 [命令参数]

注:以上是FOR命令的固定形式,IN和DO的位置必须正确,否则将提示语法错误。

如FOR %F IN (*.*) DO TYPE %F命令就可以实现TYPE命令一次显示多个文件。

注:%F是变量名,也可用%G等代替,但前后必须一致。在批文件中用%%F代替。

GOTO:转到批文件内部的某个标号下执行。

大家知道,在编程中往往需要重复或跳转到某个地方继续执行,如BASIC语言中的GOTO命令。批文件中的GOTO命令也可以完成类似的功能。

用法:GOTO [标号名]

其中,标号名是可以随意设置的,如Hello等。设置标号用“:”符号,如“:Hello”,这时用GOTO Hello命令将转到“:Hello”所在的位置继续执行批文件。

IF:条件判断命令。这是一项很有用的批处理命令。

用法1:IF [NOT] EXIST 文件名 命令 [命令参数]

意义:如果[不]存在某个文件将执行某个命令。

用法2:IF [NOT] ERRORLEVEL 错误返回代号 命令 [命令参数]

意义:如果错误返回代号[不]大于或等于指定的代号将执行某个命令。

其中,ERRORLEVEL表示错误返回代号,很有用。对于很多DOS命令,由于执行的结果不同(如执行成功,执行失败,或被用户中断等),这些命令会返 回不同的代号,以表示不同的结果。IF ERRORLEVEL命令就根据这个不同结果而产生的不同代号来执行不同的命令,通常用在某条命令之后。如IF ERRORLEVEL 1 ECHO OK!表示如果当前的错误返回代号大于或等于1时将在屏幕上显示“OK!”的字样。

用法3:IF [NOT] 字符串1==字符串2 命令 [命令参数]

意义:当字符串1和字符串2[不]相等的时候执行某个命令。

PAUSE:暂停批文件的执行,并显示“按任意键继续”的字样。

REM:添加注解。用于增加文件可读性,将不被执行。也可以用::来代替。

SHIFT:在批文件中改变可替换参数的位置。

可替换参数是一种特殊的参数,只能用在批文件中。这些参数是由使用者在执行批处理命令时输入的。比如,我们执行DIR /S /W命令,其中DIR是命令名,/S和/W是它的执行参数。在批文件中,这些命令参数将被分别赋予到可替换参数中,如/S就成的%1,/W就可了%2,以 至类推,而命令本身则被赋予%0中。批文件就是利用可替换参数对执行时输入的参数来进行操作的。比如现在有个批处理文件叫MYFILE.BAT,在命令行 下执行MYFILE.BAT YES,于是%0的值就是MYFILE.BAT,%1的值就是“YES”,可以在此批文件中用IF等命令判断出%1等参数的值,然后根据这些值的不同执行 不同的操作,如IF "%1"=="YES" GOTO YES。

SHIFT命令不带任何参数,执行结果是将%0的值换成原%1的值,而原%1的值变成的原%2的值,以此类推。注意它的不可逆转性。因为批处理文件执行时 的运行参数可能很多,可能会超过10个,而可替换参数只能从%0到%9,若想取得%9以后的参数值,只能使用SHIFT命令。这时,整个参数列将向前推。

以上是DOS的自带批处理命令,可以看出,这些命令是非常少的,若要编写较复杂的程序,用以上的命令显然不可能实现。这时就需要其它实用的批处理工具了, 著名且实用的有TESTIF,STRING,ASET,BATCHMAN,WBAT等,均可在“DOS软件分类下载”中的“脚本工具”中下载。在批处理文 件中使用以上的工具可以实现非常强大的功能,甚至可以完成许多高级语言程序的功能。所以,如果您想编者按写批处理文件的话,它们是您不错的选择,不仅有详 细的文档,而且还在不断发展中。

下面就要谈批处理文件的制作了。其实制作批处理文件并不难,只要掌握了方法就行了。随着您操作次数的增多,您会觉得越来越容易的。

首先使用一个文本编辑器,如DOS自带的EDIT命令或其它的编辑工具,如PEDIT等新建一个空白文件(当然,用COPY CON命令直接创建也行),然后在其中根据您想完成的功能输入批处理命令。如果您只是想执行一些的DOS命令的集合,则按顺序在每行输入一个DOS命令就行了。但如果您是想完成一些更复杂的操作,就需要以上的批处理命令或上述的批处理工具了。

以下是我原来所编的一个从1%慢慢增加到100%的批处理小程序,大家可以用作参考,以编写自己的程序。

@echo off

break off

cls

set c=0

writext 10 1 Wait...

be delay 4

:loop

writext 10 9 %c%%%相关阅读:

SQL 数据库开发中的一些精典代码

php数据库备份参考

Smarty结合Ajax实现无刷新留言本实例

Oracle帐号基本管理

JavaScript 无符号右移运算符

tempdb对SQL Server数据库性能有什么样的影响

mysql常见出错代码

Vista梦幻桌面支持更多格式视频

安全检查表 Windows 2003域控制器

在asp.net页面中使用异步读取

JavaScript中的继承机制

php中的时间显示

控制网页文件大小通过精简CSS实现

优化mysql性能的十个参数

linux 批处理 exe文件内容,Linux_DOS批处理文件,DOS下的可执行文件有三种,分 - phpStudy...相关推荐

  1. linux打开文件命令occ,Linux系统查看文件内容的命令有哪些?

    Linux文件内容查阅,可以使用命令来实现.cat, tac, more,包括nl等命令都可以用来查阅文件内容,本文就通过举例的方式来介绍一下,Linux系统查看文件内容的命令有哪些. /messag ...

  2. linux命令看文件内容,Linux文件内容查看相关命令

    1.more命令 在Linux中,more命令是一个基于vi编辑器的文本过滤器,它能以全屏的方式按页显示文本文件的内容,more里面内置了一些快捷键. (1)命令语法 more(选项)(参数) (2) ...

  3. linux view查看日志命令,linux查看日志文件内容命令tail、cat、tac、head、echo、vi

    linux查看日志文件内容命令tail.cat.tac.head.echo tail -f test.log 你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C, --------- ...

  4. java查看日志命令_[Java教程]【Linux】linux查看日志文件内容命令tail、cat、tac、head、echo...

    [Java教程][Linux]linux查看日志文件内容命令tail.cat.tac.head.echo 0 2017-11-14 12:00:29 linux查看日志文件内容命令tail.cat.t ...

  5. linux view查看日志命令,【Linux】linux查看日志文件内容命令tail、cat、tac、head、echo...

    linux查看日志文件内容命令tail.cat.tac.head.echo tail -f test.log 你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C, --------- ...

  6. 【Linux】查看文件内容的相关命令总结

    在Linux下面查看文件内容,不像windows那么方便,双击鼠标就可以搞定.在linux下面,所有一切都是文件,需要用命令来打开. 有许多命令都可以查看文件,不同的命令有不同的优点,可以针对不同的需 ...

  7. linux查看日志文件内容命令tail、cat、tac、head、echo、vi

    linux查看日志文件内容命令tail.cat.tac.head.echo tail -f test.log 你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C, --------- ...

  8. 【Linux】查看文件内容的5个常用命令

    前言 不管是在日常工作连接远程服务器中,还是在平时个人电脑使用中(如果使用的Mac OS 或 Linux系统的话),都离不开强大的Terminal终端. 比如,查看远程服务器上的程序运行日志,使用终端 ...

  9. linux替换大文件内容,Linux批量替换文件内容

    今天测试人员一不小心把导航的地址改错了,大约6000多个导航文件,要通过后台配置的话也很麻烦,可以通过linux命令实现对批量文件进行内容替换,但是技术经理不在,我对linux命令不熟,没办法只好硬着 ...

最新文章

  1. 2007过年休息的日子
  2. abaqus中元素过度失真是什么意思_[ABAQUS]非线性收敛问题的六个建议
  3. AI 机器人也能成佛?日本人觉得可以。
  4. 【Android 插件化】使用插件化引擎对应用进行重打包的恶意软件特征 ( 检测困难 | 成本低 | 恶意插件可更换 | 容易传播 )
  5. Mac~终端安装Homebrew packages超时
  6. c++异常处理机制示例及讲解
  7. Spring集成redis(Spring Data Redis)
  8. Pixel Bender 浅尝
  9. 在 k8S 中搭建 SonarQube 7.4.9 版本(使用 PostgreSQL 数据库)
  10. 百度直达号选错了对手 阿里腾讯还太嫩 干掉美团更直接
  11. vue+高德地图 点击地图获取经纬度和详细地址
  12. IE7和IE8的CSS样式不兼容
  13. 3GPP LTE/NR信道模型
  14. STM32学习之SHT20温湿度传感器
  15. 请来围观:WPF开发的微信客户端!!!
  16. 【计算机图形学】【实验报告】太阳系绘制、B样条曲线绘制(附代码)
  17. 算法设计 L型组件填图问题
  18. 改cpp[1] Vscode Hex Editor,在vscode中查看内存
  19. 哲学家就餐问题python实现
  20. java同时启动多个线程(一)

热门文章

  1. 使命召唤服务器显示测速中,《使命召唤16》错误提示等常见问题解决办法
  2. 信用大数据推动中国经济发展
  3. 富贵不压重发_俗语“贵人不顶重发”,聪明的脑袋不长毛,真是这样吗?
  4. codeforces-962-c
  5. python计算机二级证书好考吗-计算机二级python好过吗 通过率是多少
  6. java override报错_java @override 报错处理
  7. mac pro java后端开发环境搭建
  8. Highcharts中x轴为时间时的设置
  9. 2013新交规扣分细则全文
  10. SSD2828 RGB转MIPI转换板制作(1)