bat文件浅析(一)

来源:互联网 发布:生产工艺流程图软件 编辑:程序博客网 时间:2024/06/06 03:46

batdos下的批处理文件批处理文件是无格式的文本文件,它包含一条或多条命令。它的文件扩展名 .bat .cmd。在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe按照该文件中各个命令出现的顺序来逐个运行它们。使用批处理文件(也被称为批处理程序脚本),可以简化日常或重复性任务。

bat基础语法:

   1.批处理文件是一个“.bat”结尾的文本文件,这个文件的每一行都是一条DOS命令。可以使用任何文本文件编辑工具创建和修改。

   2.批处理是一种简单的程序,可以用 if goto来控制流程,也可以使用 for循环。

   3.批处理的编程能力远不如C语言等编程语言,也十分不规范。

   4.每个编写好的批处理文件都相当于一个DOS的外部命令,把它所在的目录放到DOS搜索路径(path)中,即可在任意位置运行。

   5.C:\AUTOEXEC.BAT是每次系统启动时都会自动运行的,可以将每次启动时都要运行的命令放入该文件中。

   6.大小写不敏感(命令符忽略大小写)

   7.批处理的文件扩展名为.bat .cmd

   8.在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe来运行该文件。

 help命令

help?命令一样都是查询命令的帮助信息的。只是格式相反,被查询的命令在help后面,在?前面。例如可以进行如下测试:

C:\Users\ASUS>help  /?提供 Windows 命令的帮助信息。HELP [command]    command - 显示该命令的帮助信息。

 重定向符号>和>>

重定向符号也称为管道符号,一般用 >>>

例如执行下面命令会在C:\Users\ASUS目录下创建cmd_infos.txt文件,文件内容就是上一例子的输出内容,不过使用管道符号后就不会在控制台打印了。

C:\Users\ASUS>help /?>>cmd_infos.txt

结果在C:\Users\ASUS目录下出现了cmd_infos.txt文件,如下:

>>>的差别是:前者是把目标文件清除后重新写入输出信息,后者会在原来的目标文件基础上追加新输出的信息。

 Echo命令

C:\Users\ASUS>help echo显示信息,或将命令回显打开或关上。  ECHO [ON | OFF] ECHO [message] 要显示当前回显设置,键入不带参数的 ECHO。

echo off 表示在此语句后所有运行的命令都不显示命令行本身;默认是onon时会显示如:C:\Users\ASUS>命令行。

下面是测试例子:

C:\Users\ASUS>echo hello worldhello worldC:\Users\ASUS>echoECHO 处于打开状态。C:\Users\ASUS>echo offechoECHO 处于关闭状态。echo hellohelloecho onC:\Users\ASUS>echoECHO 处于打开状态。

 Pause命令

C:\Users\ASUS>pause /?暂停批处理程序,并显示以下消息:请按任意键继续. . .

如下测试:

C:\Users\ASUS>pause请按任意键继续. . .

当执行pause时会显示“请按任意键继续. . .”并且光标显示在省略号后面,直到按任意键后才会继续下一行命令。

Rem命令

C:\Users\ASUS>help rem在批处理文件或CONFIG.SYS里加上注解或说明。 REM [comment] 注释命令,在C语言中相当与/*...*/,它并不会被执行,只是起一个注释的作用,便于别人阅读和自己日后修改。

@命令

  表示不显示@后面的命令,(在入侵过程中自然不能让对方看到你使用的命令啦)

  @ echo off相象,但它是加在每个命令行的最前面,表示运行时不显示这一行的命令行(只能影响当前行)

 例子1 @echooff  (此语句常用于开头,表示不显示所有的命令行信息,包括此句)

 例子2 @echo pleasewait a minite...

 例子3 @format X:/q/u/autoset

 (format 这个命令是不可以使用/y这个参数的,可喜的是微软留了个autoset这个参数给我们,效果和/y是一样的。)

 

bat文件实例

下面写一个test1.bat文件,其内容是:

help echorem 键入不带参数的 ECHOechoecho hello worldecho ----------echo off----------echo offecho //echoechoecho //echo hello world againecho hello world againecho ----------echo on----------echo onechoecho hello world again onecho /?echo ----------@echo off----------@echo offrem 此处添加打印的提示,说明执行了help remecho //help remhelp remrem 此处添加打印的提示,说明执行了help pauseecho //help pausehelp pauseecho onpause

 

双击运行后控制台结果如下:

E:\csdn>help echo显示信息,或将命令回显打开或关上。  ECHO [ON | OFF]  ECHO [message]要显示当前回显设置,键入不带参数的 ECHO。E:\csdn>rem 键入不带参数的 ECHOE:\csdn>echoECHO 处于打开状态。E:\csdn>echo hello worldhello worldE:\csdn>echo ----------echo off--------------------echo off----------E:\csdn>echo off//echoECHO 处于关闭状态。//echo hello world againhello world again----------echo on----------E:\csdn>echoECHO 处于打开状态。E:\csdn>echo hello world again onhello world again onE:\csdn>echo /?显示信息,或将命令回显打开或关上。  ECHO [ON | OFF]  ECHO [message]要显示当前回显设置,键入不带参数的 ECHO。E:\csdn>echo ----------@echo off--------------------@echo off----------//help rem在批处理文件或 CONFIG.SYS 里加上注解或说明。REM [comment]//help pause暂停批处理程序,并显示以下消息:    请按任意键继续. . .E:\csdn>pause请按任意键继续. . .


 


 

 

0 0
原创粉丝点击