Windows 批处理脚本整理

来源:互联网 发布:淘宝店铺宝贝描述尺寸 编辑:程序博客网 时间:2024/05/16 23:01

先简单介绍一下批处理是什么!

批处理即是将多条命令一起输入进解释器终端,进行作业。也称作宏,是应用于DOS 和 Windows下的一种简化脚本语言,有DOS或者Windows系统中的命令解释器(command, com 或者 cmd)解释执行。一段批处理命令可能就是一个小功能,可能是文件查找,可能是开机文件备份等。一般批处理是放置在ASCII文件中的一条条命令,用这些命令完成特定的功能。Windows下批处理文件以 .bat 或 .cat 做后缀名。因为是文本文件,编写就像平时的编程一样,用一个记事本,就可以完成编写,并将文件后缀改为批处理后缀名即可直接执行。更通俗点讲,平时在windows 系统下使用开始菜单中的运行,键入"cmd",在这个虚拟控制台中输入的命令,都可以写成批处理脚本中的一条条命令,然后批量执行。就像linux 下写的shell 脚本,只是没有它那么强大。


批处理脚本中数据没有类型,全部当做字符串,但出现数学运算时,也会算出其值。其注释使用# 或者 rem (同 vb)。


1、 关闭 / 打开回显 (echo off): 回显即是显示正在执行的批处理命令及执行结果。执行一个命令,会输出一个值,或字符串等信息,这就是回显。使用这个命令即关闭回显。

同理,打开回显即是 echo on。 默认情况下是打开状态。


2、 输出数据 (echo):将数据输出到指定文件(通常是stdout):

echo hello # 输出hello

echo. # 输出换行符,光标换行


3、 管道使用 ( | ):即是将上一命令的回显用管道导向到下一命令,作为下一条命令的输入,如将文件显示到标准输出的命令为 type ,查找字符串的命令为find ,可以通过type 将文件内容传输给 find,找到某个字符串:

type config.txt | find "ip" # 找到含有ip字符的文本行,并输出到标准输出流。

echo y | del d:\tmp\*.*  rem 将y 字符输入给del 命令,后面的del 命令会删除 d:\tmp\*.*路径下的所有文件, 在删除前会询问是否删除,输入 y 则删除。通过echo y将y字符输出到标准输出流,再通过管道,将输出传递给del命令,这样就不用再输入y了。


4、 管道重定向 (>): 将上一命令的回显重定向到文件。

echo "#include <iostream>" > helloworld.cxx # 将引号中的字符串覆盖写入 helloworld.cxx 文件中,如没有这个文件则使用系统调用创建文件。如果文件中原来有数据,则重定向后文件中的数据被清空,并写上重定向的数据。


5、 管道重定向 (>>): 同上,唯一不同的,不是覆盖写入文件中,而是在文件末尾追加。若文件中原来有数据,则不清空,直接在文件末尾追加字符串。


6、变量引用 (%%): 使用%%符号引用变量中的值,如pwd变量,输出为 echo %pwd%,前提是这个变量是存在的,即是环境变量或者提前用set 声明的。


7、 改变窗体标题 (title): title 新标题。


8、 改变窗体的颜色 (color) : color [attr] # attr 为两位十六进制数,表示颜色的值。


9、 控制台中的 press any key to continue... :

echo "press any key to continue" & pause > nul # 将pause 的输出重定向到 nul,一个系统中的无底洞,这里的数据将被销毁。


10、 开启新进程 (start):

start explorer %cd% # 打开explorer ,并打开当前路径。

for /i in(1,1,255) do start /min /low ping -t 192.168.1.1 # 开启255 个进程,每个进程调用ping命令一直ping 192.168.1.1 主机,可以做成icmp洪水攻击。


11、assoc : 修改后缀名与相应执行文件的关联。


12、 条件判断 (if) :

if [not]  command

  comms

if [not] command

  comms


13、 退出命令行终端 (exit)。


当发现自己不会用的命令时,可以使用help command 或者 command /? 来获得帮助。


0 0
原创粉丝点击