您现在的位置是:网站首页> 编程资料编程资料

教你编写bat脚本Windows批处理_DOS/BAT_

2023-05-25 335人已围观

简介 教你编写bat脚本Windows批处理_DOS/BAT_

批处理脚本文件具有特殊的扩展名BAT或CMD,这种类型的文件通过称为**命令解释器(cmd.exe)**的系统文件提供的接口(shell)来识别和执行。

常见用途

  • 为不同的目的设置服务器
  • 自动管理活动和日志,如删除不需要的文件或日志文件
  • 自动将应用程序从一个环境部署到另一个环境。
  • 立即在各种机器上安装程序。

bat命令速查

命令备注
VER显示正在使用的MS-DOS的版本
ASSOC这是将扩展名与文件类型(FTYPE)相关联的批处理命令,显示现有关联或删除关联
cd更改不同的目录,或显示当前目录
CLS清屏
COPY文件复制
DEL删除文件
DIR列出目录内容
DATE系统日期
ECHO显示消息,或打开、关闭命令回显
EXIT退出DOS控制台
MD创建目录
MOVE移动文件或目录
PATH显示或设置路径变量
PAUSE等待输入
PROMPT用于更改或重置cmd.exe提示符
RD删除目录(需为空)
REN重命名文件和目录
REM注释
START在新窗口中启动程序,或打开文档
TIME设置或显示时间
TYPE将文件或文件的内容打印到输出中
VOL显示卷标
ATTRIB显示或设置当前目录中的文件的属性
CHKDSK检查磁盘是否有问题
CHOICE为用户提供了一个选项列表
CMD调用另一个命令提示符实例
COMP根据文件大小比较2个文件
CONVERT将卷从FAT16或FAT32文件系统转换为NTFS文件系统
DRIVERQUERY显示所有已安装的设备驱动程序及其属性
EXPAND从压缩的.cab压缩文件中提取文件
FIND在文件或输入中搜索字符串,输出匹配的行
FORMAT将磁盘格式化为使用Windows支持的文件系统(如FAT,FAT32或NTFS),从而覆盖磁盘的先前内容
HELP显示Windows提供的命令的列表
IPCONFIG显示Windows IP配置。显示连接的配置和连接的名称
LABEL添加,设置或删除磁盘标签
MORE一次显示一个或多个文件的内容
NET根据使用的命令提供各种网络服务
PING通过网络将ICMP/IP “回显”发送到指定的地址的包
SHUTDOWN关闭计算机,或者注销当前用户
SORT从源文件获取输入,并按字母顺序排序其内容,从A到Z或从Z到A。它将在控制台上打印输出
SUBST将驱动器号分配给本地文件夹,显示当前分配或删除分配
SYSTEMINFO该批处理命令显示计算机及其操作系统的配置
TASKKILL该批处理命令结束一个或多个任务
TASKLIST列出任务,包括任务名称和进程标识(PID)
XCOPY以更高级的方式复制文件和目录
TREE将当前目录的所有子目录的树显示为递归或深度的任何级别
FC列出两个文件之间的实际差异
DISKPART显示和配置磁盘分区的属性
TITLE该批处理命令设置控制台窗口中显示的标题
SET显示当前系统上的环境变量列表

常用参数

/L: for循环移动范围的/L参数用于迭代数组
/A:数值

echo

@echo off
  • “echo off” :关闭脚本的显示(不显示命令)。
  • “@” :使命令也适用于自己。

注释

Rem

Rem Remarks

程序执行时忽略Rem关键字之后的任何内容。

使用::声明

:: Remarks

dir :获取目录内容

> :将输出重定向到文件

@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"

变量

命令行参数

rem Test.bat @echo off echo %1 echo %2 echo %3

运行方式

Test.bat 1 2 3

set命令

set /A variable-name=value

  • variable-name: 变量的名称
  • value:变量值。
  • /A:如果该值本质上是数值,则使用此开关。

字符串

@echo off set message=Hello World echo %message% rem 变量需要包含在%符号中显示 

数值

@echo off SET /A a=5 SET /A b=10 SET /A c=%a% + %b% echo %c%

局部变量 vs 全局变量

  • 默认情况下为全局变量。
  • 调用SETLOCAL命令,使变量局部在脚本的范围内。
  • 在调用SETLOCAL之后,任何变量赋值在调用ENDLOCAL,调用EXIT,或者当执行到达脚本中的文件结尾(EOF)时都会返回。
@echo off set globalvar=5 SETLOCAL set var=13145 set /A var=%var% + 5 echo %var% echo %globalvar% ENDLOCAL

环境变量输出

@echo off echo %JAVA_HOME%

字符串

创建

set message=Hello World

空字符串

SET a= if [%a%]==[] echo "String A is empty" 

要检查是否存在空字符串,需要在方括号中包含变量名,并

-六神源码网