batch批处理脚本

介绍Batch脚本的功能: 可以读取用户的输入,以便进一步处理。 有控制结构:for, if, while 和 switch更好的自动化和脚本。 支持高级功能,如函数和数组。 支持正则表达式。 可以包含其他编程代码,如Perl。 Batch脚本的一些常见用途是 为不同的目的设置服务器。 自动管理活动和日志,如删除不需要的文件或日志文件。 自动将应用程序从一个环境部署到另一个...

介绍

Batch脚本的功能

  • 可以读取用户的输入,以便进一步处理。
  • 有控制结构:for, if, while 和 switch更好的自动化和脚本。
  • 支持高级功能,如函数和数组。
  • 支持正则表达式。
  • 可以包含其他编程代码,如Perl。
  • Batch脚本的一些常见用途是
  • 为不同的目的设置服务器。
  • 自动管理活动和日志,如删除不需要的文件或日志文件。
  • 自动将应用程序从一个环境部署到另一个环境。
  • 立即在各种机器上安装程序。

    常用命令

编号 命令 描述
1 VER 此批处理命令显示正在使用的MS-DOS的版本。
2 ASSOC 这是将扩展名与文件类型(FTYPE)相关联的批处理命令,显示现有关联或删除关联。
3 CD 此批处理命令用于更改进入不同的目录,或显示当前目录。
4 CLS 这个批处理命令清除屏幕。
5 COPY 此批处理命令用于将文件从一个位置复制到另一个位置。
6 DEL 这个批处理命令用于删除文件而不是目录。
7 DIR 该批处理命令列出目录的内容。
8 DATE 这个批处理命令用于查找系统日期。
9 ECHO 此批处理命令显示消息,或打开或关闭命令回显。
10 EXIT 这个批处理命令退出DOS控制台。
11 MD 这个批处理命令在当前位置创建一个新的目录。
12 MOVE 这个批处理命令在目录之间移动文件或目录。
13 PATH 此批处理命令显示或设置路径变量。
14 PAUSE 该批处理命令会提示用户并等待输入一行。
15 PROMPT 此批处理命令可用于更改或重置cmd.exe提示符。
16 RD 这个批处理命令删除目录,但目录需要是空的才能被删除。
17 REN 重命名文件和目录
18 REM 此批处理命令用于批处理文件中的备注,防止执行备注的内容。
19 START 该批处理命令在新窗口中启动程序,或打开文档。
20 TIME 该批处理命令设置或显示时间。
21 TYPE 该批处理命令将文件或文件的内容打印到输出中。
22 VOL 此批处理命令显示卷标。
23 ATTRIB 显示或设置当前目录中的文件的属性
24 CHKDSK 这个批处理命令检查磁盘是否有问题。
25 CHOICE 这个批处理命令为用户提供了一个选项列表。
26 CMD 此批处理命令将调用另一个命令提示符实例。
27 COMP 该批处理命令根据文件大小比较2个文件。
28 CONVERT 此批处理命令将卷从FAT16FAT32文件系统转换为NTFS文件系统。
29 DRIVERQUERY 此批处理命令显示所有已安装的设备驱动程序及其属性
30 EXPAND 此批处理命令从压缩的.cab压缩文件中提取文件。
31 FIND 该批处理命令在文件或输入中搜索字符串,输出匹配的行。
32 FORMAT 此批处理命令将磁盘格式化为使用Windows支持的文件系统(如FATFAT32NTFS),从而覆盖磁盘的先前内容。
33 HELP 该批处理命令显示Windows提供的命令的列表。
34 IPCONFIG 此批处理命令显示Windows IP配置。显示连接的配置和连接的名称。
35 LABEL 此批处理命令添加,设置或删除磁盘标签。
36 MORE 此批处理命令一次显示一个或多个文件的内容。
37 NET 根据使用的命令提供各种网络服务。
38 PING 这个批处理命令通过网络将ICMP/IP “回显”发送到指定的地址的包。
39 SHUTDOWN 该批处理命令关闭计算机,或者注销当前用户。
40 SORT 该批处理命令从源文件获取输入,并按字母顺序排序其内容,从AZ或从ZA。它将在控制台上打印输出。
41 SUBST 此批处理命令将驱动器号分配给本地文件夹,显示当前分配或删除分配。
42 SYSTEMINFO 该批处理命令显示计算机及其操作系统的配置。
43 TASKKILL 该批处理命令结束一个或多个任务。
44 TASKLIST 此批处理命令列出任务,包括任务名称和进程标识(PID)。
45 XCOPY 这个批处理命令以更高级的方式复制文件和目录。
46 TREE 该批处理命令将当前目录的所有子目录的树显示为递归或深度的任何级别。
47 FC 这个批处理命令列出了两个文件之间的实际差异。
48 DISKPART 此批处理命令显示和配置磁盘分区的属性。
49 TITLE 该批处理命令设置控制台窗口中显示的标题。
50 SET 显示当前系统上的环境变量列表。

echo off命令,默认情况下批处理运行是显示其命令,该命令可以关闭其显示;使用@符号使命令适用于自己。 REM, ::关键字起注释作用。 E.G

@echo off 
Rem This is for listing down all the files in the directory Program files 
dir "C:\Program Files" > C:\lists.txt 
echo "The program has completed"
  • 使用echo off命令确保执行代码时不显示命令
  • Rem命令用于添加注释来说明这个批处理文件的功能
  • dir命令用于获取目录C:\Program Files的内容
  • >命令用于将输出重定向到文件C:\lists.txt
  • echo命令用于告诉用户操作已完成

    批处理参数

    批处理文件中有两种类型的变量。 其中一个参数是在调用批处理文件时可以传递的参数,另一个是通过set命令完成的。

命令行参数 批处理脚本支持命令行参数的概念,其中参数可以在被调用时传递给批处理文件。参数可以通过变量%1%2%3等从批处理文件中调用。 以下示例显示了一个批处理文件,它接受3个命令行参数,并将它们回显到命令行屏幕。

@echo off 
echo %1 
echo %2 
echo %3

**set命令

set /A variable-name=value

其中

  • variable-name - 是想要设置的变量的名称。
  • value - 是需要根据变量设置的值。
  • /A - 如果该值本质上是数值,则使用此开关。

E.G.

@echo off 
set message=Hello World 
echo %message%
@echo off 
SET /A a=5 
SET /A b=10 
SET /A c=%a% + %b% 
echo %c%

变量范围 DOS脚本还定义了局部和全局范围的变量。 默认情况下,变量是整个命令提示符会话的全局变量。 调用SETLOCAL命令,使变量局部在脚本的范围内。 在调用SETLOCAL之后,任何变量赋值在调用ENDLOCAL,调用EXIT,或者当执行到达脚本中的文件结尾(EOF)时都会返回。 以下示例显示了在脚本中设置局部和全局变量时的差异。

字符串处理

编号 字符串操作 描述
1 创建字符串 字符串可以通过以下方式在DOS中创建。
2 空字符串 空的字符串
3 字符串插值 字符串插值是一种通过将常量,变量,文字和表达式中的值包含在字符串文字中来构造新的字符串值的方法。
4 字符串连接 可以使用set运算符连接两个字符串,一个字符串和一个字符,或者两个字符。 以下是一个简单的例子,展示了如何使用字符串连接。
5 字符串长度 在DOS脚本中,没有定义用于计算字符串长度的长度函数。 有自定义函数可以用于相同的。 以下是用于查看字符串长度的自定义函数的示例。
6 toInt 使用set变量设置为字符串的变量可以使用使用set变量的/A开关转换为整数。 以下示例显示了如何完成此操作。
7 对齐 这用于将文本向右对齐,通常用于提高数字列的可读性。
8 左字符串 这用于从字符串的开头提取字符。
9 中间字符串 这用于通过字符串中字符的位置来提取子字符串。
10 删除字符串 字符串替换功能也可以用来从另一个字符串中删除一个子字符串。
11 删除两端 这用于删除字符串的第一个和最后一个字符。
12 删除所有空格 这用于替换删除字符串中的所有空格。
13 替换一个字符串 要用一个字符串替换子字符串,请使用字符串替换功能。
14 右字符串 这用于从字符串的末尾提取字符。