> 文章列表 > BAT脚本学习笔记

BAT脚本学习笔记

BAT脚本学习笔记

基本知识梳理

概念

解释:微软操作系统自带程序,不需要任何语言就可以执行的脚本。
编辑器:支持ASCII/GBK码编译的任意编辑器。
编译器:无
解释器:cmd.exe
标识符:不区分大小写
执行环境:dos(cmd.exe)命令行中执行。
如何运行:
1.双击编辑的.bat执行
2.开启dos(cmd.exe)窗口执行

知识点学习

1.@echo off + pause

功能:关闭命令回显,并执行完成后阻塞在命令窗口。
解释:@作用是注释,echo off 关闭命令回显,pause阻塞该程序到当前命令窗口。
运行示例:
1.未关命令回显

C:\\Users\\XIAO\\Desktop\\study>type hello.bat
echo hello,world!C:\\Users\\XIAO\\Desktop\\study>

执行结果:

C:\\Users\\XIAO\\Desktop\\study>hello.batC:\\Users\\XIAO\\Desktop\\study>echo hello,world!
hello,world!C:\\Users\\XIAO\\Desktop\\study>

2.关闭命令回显

C:\\Users\\XIAO\\Desktop\\study>type hello.bat
echo off
echo hello,world!C:\\Users\\XIAO\\Desktop\\study>

运行结果:

C:\\Users\\XIAO\\Desktop\\study>hello.batC:\\Users\\XIAO\\Desktop\\study>echo off
hello,world!C:\\Users\\XIAO\\Desktop\\study>

3.@符号作用展示

C:\\Users\\XIAO\\Desktop\\study>type hello.bat
@echo off
echo hello,world!C:\\Users\\XIAO\\Desktop\\study>

运行结果:

C:\\Users\\XIAO\\Desktop\\study>hello.bat
hello,world!C:\\Users\\XIAO\\Desktop\\study>

4.pause命令展示

C:\\Users\\XIAO\\Desktop\\study>type hello.bat
@echo off
echo hello,world!
pauseC:\\Users\\XIAO\\Desktop\\study>

运行结果(按回车就会退出当前pause状态):

C:\\Users\\XIAO\\Desktop\\study>hello.bat
hello,world!
请按任意键继续. . .C:\\Users\\XIAO\\Desktop\\study>

2.命令分类

功能: 无。
解释: 命令一般分为内部命令和外部命令。内部命令有cls|ipconfig等,外部命令有java|python等。
运行示例:
1.ipconfig演示

C:\\Users\\XIAO\\Desktop\\study>ipconfigWindows IP 配置以太网适配器 以太网 2:连接特定的 DNS 后缀 . . . . . . . :本地链接 IPv6 地址. . . . . . . . : f450::365f:b787:b143:2920%14IPv4 地址 . . . . . . . . . . . . : 192.168.56.1子网掩码  . . . . . . . . . . . . : 255.255.255.0默认网关. . . . . . . . . . . . . :以太网适配器 以太网:连接特定的 DNS 后缀 . . . . . . . :IPv6 地址 . . . . . . . . . . . . : 2409:8230:be1:210:543d:d675:a89e:5898临时 IPv6 地址. . . . . . . . . . : 2409:8a20:ba1:220:bd6e:c116:da10:b14本地链接 IPv6 地址. . . . . . . . : fe10::339c:4139:7c29:7e82%8IPv4 地址 . . . . . . . . . . . . : 192.168.1.14子网掩码  . . . . . . . . . . . . : 255.255.255.0默认网关. . . . . . . . . . . . . : fe80::1%8192.168.1.1C:\\Users\\XIAO\\Desktop\\study>

2.cls演示

cls #执行完成后只剩当前一行
C:\\Users\\XIAO\\Desktop\\study>

3.python演示

3.运算符操作

1.算数运算

功能: 无。
解释: 内容一般包括±*/%。优先级从高到底一般依次是()*/%+-
运行示例:
1.命令行执行算数操作+

C:\\Users\\XIAO\\Desktop\\study>set 1+1
环境变量 1+1 没有定义C:\\Users\\XIAO\\Desktop\\study>set /a 1+1
2
C:\\Users\\XIAO\\Desktop\\study>set /A 1+1
2
C:\\Users\\XIAO\\Desktop\\study>

2.命令行执行算数操作-

C:\\Users\\XIAO\\Desktop\\study>set /a 1-1
0
C:\\Users\\XIAO\\Desktop\\study>set /A 1-1
0
C:\\Users\\XIAO\\Desktop\\study>set /A 1-2
-1
C:\\Users\\XIAO\\Desktop\\study>

3.命令行执行算数操作*


C:\\Users\\XIAO\\Desktop\\study>set /a 1*1
1
C:\\Users\\XIAO\\Desktop\\study>set /a 1*2
2
C:\\Users\\XIAO\\Desktop\\study>

4.命令行执行算数操作/

C:\\Users\\XIAO\\Desktop\\study>set /a 1/2
0
C:\\Users\\XIAO\\Desktop\\study>set /a 2/2
1
C:\\Users\\XIAO\\Desktop\\study>

5.命令行执行算数操作/

C:\\Users\\XIAO\\Desktop\\study>set /a 1%2
1
C:\\Users\\XIAO\\Desktop\\study>set /a 2%2
0
C:\\Users\\XIAO\\Desktop\\study>

6.命令行执行算数混合操作

C:\\Users\\XIAO\\Desktop\\study>set /a (1 + 1) + 1 % (1 * 1)
2
C:\\Users\\XIAO\\Desktop\\study>set /a (1 + 1) + 1 % (1 * 2)
3
C:\\Users\\XIAO\\Desktop\\study>

7.文件执行算数操作

C:\\Users\\XIAO\\Desktop\\study>type math.bat
@echo offset /a var=1+1
echo 加法:1+1=%var%set /A var=1-1
echo 减法:1+1=%var%set /a var=1*2
echo 乘法:1+1=%var%set /a var=1/2
echo 除法:1+1=%var%set /a var=1%2
echo 取余:1/2=%var%set /a var=(1 + 1) + 1 % (1 * 1)
echo 混合运算:(1 + 1) + 1 % (1 * 1)=%var%pauseC:\\Users\\XIAO\\Desktop\\study>

运行结果:

C:\\Users\\XIAO\\Desktop\\study>math.bat
加法:1+1=2
减法:1+1=0
乘法:1+1=2
除法:1+1=0
取余:1/2=1
运算符不存在。
混合运算:(1 + 1) + 1 var
请按任意键继续. . .C:\\Users\\XIAO\\Desktop\\study>

2.重定向运算

1. > 将左边内容重定向到右边文件中

C:\\Users\\XIAO\\Desktop\\study>echo @echo off > hello.batC:\\Users\\XIAO\\Desktop\\study>

2. type 查看指定文件内容

C:\\Users\\XIAO\\Desktop\\study>type hello.bat
@echo offC:\\Users\\XIAO\\Desktop\\study>

3. >> 将左边内容追加到右边文件中

C:\\Users\\XIAO\\Desktop\\study>echo echo hello,world! >> hello.batC:\\Users\\XIAO\\Desktop\\study>echo pause >> hello.batC:\\Users\\XIAO\\Desktop\\study>type hello.bat
@echo off
echo hello,world!
pauseC:\\Users\\XIAO\\Desktop\\study>

4. <

5. <<

3.逻辑运算

1. >大于

2. <小于

4.多命令运算

1. &&

功能: 短路运算。
解释: 当第一个命令错误不会执行第二个命令。
运行示例:
1.两个都执行

C:\\Users\\XIAO\\Desktop\\study>type hello.bat && dir
@echo off
echo hello,world!
pause驱动器 C 中的卷没有标签。卷的序列号是 A64D-8F63C:\\Users\\XIAO\\Desktop\\study 的目录2023/03/22  23:46    <DIR>          .
2023/03/22  22:49    <DIR>          ..
2023/03/22  23:53               302 .math.bat.swp
2023/03/23  00:05                40 hello.bat
2023/03/22  23:53               302 math.bat3 个文件            644 字节2 个目录 424,714,440,704 可用字节C:\\Users\\XIAO\\Desktop\\study>

2.第一个执行错误,导致第二个不执行

C:\\Users\\XIAO\\Desktop\\study>type hello.bat1 && dir
系统找不到指定的文件。C:\\Users\\XIAO\\Desktop\\study>

2. ||

功能: 短路运算。
解释: 当第一个命令错误就会执行第二个命令或者当第一个命令执行成功就不会执行第二个命令。
运行示例:
1.成功执行第二个命令

C:\\Users\\XIAO\\Desktop\\study>type hello.bat1 || dir
系统找不到指定的文件。驱动器 C 中的卷没有标签。卷的序列号是 A64D-8F63C:\\Users\\XIAO\\Desktop\\study 的目录2023/03/22  23:46    <DIR>          .
2023/03/22  22:49    <DIR>          ..
2023/03/22  23:53               302 .math.bat.swp
2023/03/23  00:05                40 hello.bat
2023/03/22  23:53               302 math.bat3 个文件            644 字节2 个目录 424,714,833,920 可用字节C:\\Users\\XIAO\\Desktop\\study>

2.成功执行第一个命令

C:\\Users\\XIAO\\Desktop\\study>type hello.bat || dir
@echo off
echo hello,world!
pauseC:\\Users\\XIAO\\Desktop\\study>

5.管道运算a|b

功能: 将a命令的输出作为b命令的输入。
解释: 无。
运行示例:
1.查找当前目录包含指定的文件

C:\\Users\\XIAO\\Desktop\\study>dir驱动器 C 中的卷没有标签。卷的序列号是 A64D-8F63C:\\Users\\XIAO\\Desktop\\study 的目录2023/03/22  23:46    <DIR>          .
2023/03/22  22:49    <DIR>          ..
2023/03/22  23:53               302 .math.bat.swp
2023/03/23  00:05                40 hello.bat
2023/03/22  23:53               302 math.bat3 个文件            644 字节2 个目录 424,711,475,200 可用字节C:\\Users\\XIAO\\Desktop\\study>dir | find "bat"
2023/03/22  23:53               302 .math.bat.swp
2023/03/23  00:05                40 hello.bat
2023/03/22  23:53               302 math.batC:\\Users\\XIAO\\Desktop\\study>

2.查找当前主机与其他外部设备建立连接的信息

C:\\Users\\XIAO\\Desktop\\study>netstat -ao | find "ESTABLISHED"TCP    127.0.0.1:1042         DESKTOP-BNU9SN9:49875  ESTABLISHED     11808TCP    127.0.0.1:1042         DESKTOP-BNU9SN9:49881  ESTABLISHED     11808TCP    127.0.0.1:1042         DESKTOP-BNU9SN9:49884  ESTABLISHED     11808TCP    127.0.0.1:9012         DESKTOP-BNU9SN9:49904  ESTABLISHED     11508TCP    127.0.0.1:9013         DESKTOP-BNU9SN9:49885  ESTABLISHED     11508TCP    127.0.0.1:13030        DESKTOP-BNU9SN9:49683  ESTABLISHED     6784TCP    127.0.0.1:17532        DESKTOP-BNU9SN9:49902  ESTABLISHED     6716TCP    127.0.0.1:49683        DESKTOP-BNU9SN9:13030  ESTABLISHED     6784TCP    127.0.0.1:49875        DESKTOP-BNU9SN9:1042   ESTABLISHED     11432TCP    127.0.0.1:49881        DESKTOP-BNU9SN9:1042   ESTABLISHED     11508TCP    127.0.0.1:49884        DESKTOP-BNU9SN9:1042   ESTABLISHED     3276TCP    127.0.0.1:49885        DESKTOP-BNU9SN9:9013   ESTABLISHED     3276TCP    127.0.0.1:49902        DESKTOP-BNU9SN9:17532  ESTABLISHED     9520TCP    127.0.0.1:49904        DESKTOP-BNU9SN9:9012   ESTABLISHED     9520TCP    192.168.1.14:49894     20.197.71.89:https     ESTABLISHED     6796TCP    192.168.1.14:50018     ecs-119-3-178-178:21112  ESTABLISHED     10248TCP    192.168.1.14:51768     111.20.14.162:https    ESTABLISHED     9720TCP    192.168.1.14:52057     ecs-123-249-99-208:https  ESTABLISHED     9720TCP    192.168.1.14:52058     20.222.214.134:https   ESTABLISHED     9720C:\\Users\\XIAO\\Desktop\\study>

4.批处理基本命令和变量

功能: 无。
解释: 格式一般包括命令+子命令+参数+操作+选项。查看命令帮助信息格式:命令+/?

1.net命令

功能: 管理网络环境、服务、用户、登陆等本地信息。
解释: 无。
运行示例:
1.使用/?查看帮助信息

C:\\Users\\XIAO\\Desktop\\study>net /?
此命令的语法是:NET[ ACCOUNTS | COMPUTER | CONFIG | CONTINUE | FILE | GROUP | HELP |HELPMSG | LOCALGROUP | PAUSE | SESSION | SHARE | START |STATISTICS | STOP | TIME | USE | USER | VIEW ]C:\\Users\\XIAO\\Desktop\\study>

2.net user查看当前用户信息

C:\\Users\\XIAO\\Desktop\\study>net user\\\\DESKTOP-BNU9SN9 的用户帐户-------------------------------------------------------------------------------
Administrator            DefaultAccount           Guest
WDAGUtilityAccount       XIAO
命令成功完成。C:\\Users\\XIAO\\Desktop\\study>

3.net user /help 获取命令详细信息

C:\\Users\\XIAO\\Desktop\\study>net user /help
此命令的语法是:NET USER
[username [password | *] [options]] [/DOMAIN]username {password | *} /ADD [options] [/DOMAIN]username [/DELETE] [/DOMAIN]username [/TIMES:{times | ALL}]username [/ACTIVE: {YES | NO}]NET USER 将创建并修改计算机上的用户帐户。在不使用命令开关的情况下,
将列出计算机的用户帐户。用户帐户信息存储在用户帐户数据库中。username     为可添加、删除、修改或查看的用户帐户的名称。用户帐户名称最多可以有 20 个字符。
password     指定或更改用户帐户的密码。密码的长度必须符合 NET ACCOUNTS命令的 /MINPWLEN 选项所设置的最小长度。最多可以有 14 个字符。
*            生成密码提示。在密码提示下键入密码时,将不会显示密码。
/DOMAIN      在当前域的域控制器上执行此操作。
/ADD         向用户帐户数据库添加用户帐户。
/DELETE      从用户帐户数据库删除用户帐户。选项         如下所示:选项                       描述--------------------------------------------------------------------/ACTIVE:{YES | NO}         激活或取消激活帐户。如果该帐户处于非激活状态,用户将无法访问服务器。默认设置为“YES”。/COMMENT:"text"            提供有关用户帐户的描述性注释。请将文本用引号括起来。/COUNTRYCODE:nnn           使用操作系统国家/地区代码执行指定的语言文件,以显示用户帮助和错误消息。值 0 表示使用默认的国家/地区代码。/EXPIRES:{date | NEVER}    如果设置了日期,可导致帐户过期。NEVER 将帐户设置为无时间限制。过期日期采用格式 mm/dd/yy(yy)。月份可以是一个数字、完整字母拼写,或使用三个字母的缩写。年份可以使用两位数字或四位数字。使用斜线(/)(不留空格)将日期的各个部分隔开。/FULLNAME:"name"           用户的全名(而不是用户名)。请将该名称用引号括起来。/HOMEDIR:pathname          用户的主目录设置路径。该路径必须存在。/PASSWORDCHG:{YES | NO}    指定用户是否可以更改其密码。默认设置为“YES”。/PASSWORDREQ:{YES | NO}    指定用户帐户是否必须拥有密码。默认设置为“YES”。/LOGONPASSWORDCHG:{YES|NO} 指定用户是否应在下次登录时更改其密码。默认设置为“NO”。/PROFILEPATH[:path]        为用户登录配置文件设置路径。/SCRIPTPATH:pathname       用户登录脚本的位置。/TIMES:{times | ALL}       登录小时数。TIMES 表示为day[-day][,day[-day]],time[-time][,time[-time]],增量限制为 1 小时。日期可以是完整拼写,也可以是缩写。小时可以是 1224 小时表示法。对于12 小时表示法,请使用 am、pm、a.m. 或p.m。ALL 表示用户始终可以登录,空白值表示用户始终不能登录。使用逗号将日期和时间隔开,使用分号将多个日期和时间隔开。/USERCOMMENT:"text"        允许管理员添加或更改帐户的用户注释。/WORKSTATIONS:{computername[,...] | *}列出用户可用于登录到网络的计算机,最多为八台。如果 /WORKSTATIONS 没有列表,或其列表为 *,则用户可以通过任何计算机登录到网络。NET HELP 命令 | MORE 显示帮助内容,一次显示一屏。C:\\Users\\XIAO\\Desktop\\study>

4.net user 添加用户名为test,密码为test的用户

C:\\Windows\\System32>net user test test /add
命令成功完成。C:\\Windows\\System32>
C:\\Windows\\System32>net user\\\\DESKTOP-BNU9SN9 的用户帐户-------------------------------------------------------------------------------
Administrator            DefaultAccount           Guest
test                     WDAGUtilityAccount       XIAO
命令成功完成。C:\\Windows\\System32>

5.net user删除用户名为test

C:\\Windows\\System32>net user test /del
命令成功完成。C:\\Windows\\System32>net user\\\\DESKTOP-BNU9SN9 的用户帐户-------------------------------------------------------------------------------
Administrator            DefaultAccount           Guest
WDAGUtilityAccount       XIAO
命令成功完成。C:\\Windows\\System32>

6.查看系统当前的用户组

C:\\Users\\XIAO\\Desktop\\study\\test2>net localgroup\\\\DESKTOP-BNU9SN9 的别名-------------------------------------------------------------------------------
*Access Control Assistance Operators
*Administrators
*Backup Operators
*Cryptographic Operators
*Device Owners
*Distributed COM Users
*Event Log Readers
*Guests
*Hyper-V Administrators
*IIS_IUSRS
*Network Configuration Operators
*Performance Log Users
*Performance Monitor Users
*Power Users
*Remote Desktop Users
*Remote Management Users
*Replicator
*System Managed Accounts Group
*Users
命令成功完成。C:\\Users\\XIAO\\Desktop\\study\\test2>

7.查看当前管理员组和用户组的成员

C:\\Users\\XIAO\\Desktop\\study\\test2>net localgroup Administrators
别名     Administrators
注释     管理员对计算机/域有不受限制的完全访问权成员-------------------------------------------------------------------------------
Administrator
XIAO
命令成功完成。C:\\Users\\XIAO\\Desktop\\study\\test2>net localgroup Users
别名     Users
注释     防止用户进行有意或无意的系统范围的更改,但是可以运行大部分应用程序成员-------------------------------------------------------------------------------
NT AUTHORITY\\Authenticated Users
NT AUTHORITY\\INTERACTIVE
命令成功完成。C:\\Users\\XIAO\\Desktop\\study\\test2>

8.查看用户组帮助信息

C:\\Users\\XIAO\\Desktop\\study\\test2>net localgroup /?
此命令的语法是:NET LOCALGROUP
[groupname [/COMMENT:"text"]] [/DOMAIN]groupname {/ADD [/COMMENT:"text"] | /DELETE}  [/DOMAIN]groupname name [...] {/ADD | /DELETE} [/DOMAIN]C:\\Users\\XIAO\\Desktop\\study\\test2>

2. args:%1 %2 %2 … %n

功能: bat脚本接收来自命令行的参数,依次使用%1…%n来传递。
解释: 其中%为转义符,数字表示当前第几个参数。
运行示例:

C:\\Users\\XIAO\\Desktop\\study>type arg.bat
@echo off
echo recieve cmd args: %1,%2
%1
pauseC:\\Users\\XIAO\\Desktop\\study>

运行结果:

C:\\Users\\XIAO\\Desktop\\study>arg.bat dir hello
recieve cmd args: dir,hello驱动器 C 中的卷没有标签。卷的序列号是 A64D-8F63C:\\Users\\XIAO\\Desktop\\study 的目录2023/03/23  23:42    <DIR>          .
2023/03/22  22:49    <DIR>          ..
2023/03/22  23:53               302 .math.bat.swp
2023/03/23  23:47                56 arg.bat
2023/03/23  00:05                40 hello.bat
2023/03/22  23:53               302 math.bat4 个文件            700 字节2 个目录 423,998,554,112 可用字节
请按任意键继续. . .C:\\Users\\XIAO\\Desktop\\study>

3. rem

功能: bat脚本中用来注释的命令。
解释: 无。
运行示例:

C:\\Users\\XIAO\\Desktop\\study>type rem.bat
@echo off
rem hello,world!
pauseC:\\Users\\XIAO\\Desktop\\study>

运行结果:

C:\\Users\\XIAO\\Desktop\\study>rem.bat
请按任意键继续. . .C:\\Users\\XIAO\\Desktop\\study>

4. ::

功能: bat脚本中用来注释的标识符。
解释: 无。
运行示例:

C:\\Users\\XIAO\\Desktop\\study>type rem2.bat
@echo off
::hello,world!
pauseC:\\Users\\XIAO\\Desktop\\study>

运行结果:

C:\\Users\\XIAO\\Desktop\\study>rem2.bat
请按任意键继续. . .C:\\Users\\XIAO\\Desktop\\study>

5. color

功能: 输出默认控制台前景色和背景色。
解释: 无。
运行示例:

C:\\Users\\XIAO\\Desktop\\study>color /?
设置默认的控制台前景和背景颜色。COLOR [attr]attr        指定控制台输出的颜色属性。颜色属性由两个十六进制数字指定 -- 第一个
对应于背景,第二个对应于前景。每个数字
可以为以下任何值:0 = 黑色       8 = 灰色1 = 蓝色       9 = 淡蓝色2 = 绿色       A = 淡绿色3 = 浅绿色     B = 淡浅绿色4 = 红色       C = 淡红色5 = 紫色       D = 淡紫色6 = 黄色       E = 淡黄色7 = 白色       F = 亮白色如果没有给定任何参数,此命令会将颜色还原到 CMD.EXE 启动时
的颜色。这个值来自当前控制台
窗口、/T 命令行开关或 DefaultColor 注册表
值。如果尝试使用相同的
前景和背景颜色来执行COLOR 命令,COLOR 命令会将 ERRORLEVEL 设置为 1。示例: "COLOR fc" 在亮白色上产生淡红色C:\\Users\\XIAO\\Desktop\\study>color 0aC:\\Users\\XIAO\\Desktop\\study>

6. title

功能: 设置控制台标题名称。
解释: 无。
运行示例:

C:\\Users\\XIAO\\Desktop\\study>title /?
设置命令提示窗口的窗口标题。TITLE [string]string       指定命令提示窗口的标题。C:\\Users\\XIAO\\Desktop\\study>title "hack"C:\\Users\\XIAO\\Desktop\\study>

7. date

功能: 设置查看当前系统日期。
解释: 无。
运行示例:
1.帮助信息

C:\\Users\\XIAO>date /?
显示或设置日期。DATE [/T | date]显示当前日期设置和输入新日期的提示,请键入
不带参数的 DATE。要保留现有日期,请按 Enter。如果命令扩展被启用,DATE 命令会支持 /T 开关;
该开关指示命令只输出当前日期,但不提示输入新日期。C:\\Users\\XIAO>

2.显示当前日期

C:\\Users\\XIAO>date /T
2023/03/31 周五C:\\Users\\XIAO>

8. time

功能: 设置查看当前系统时间。
解释: 无。
运行示例:
1.帮助信息

C:\\Users\\XIAO>time /?
显示或设置系统时间。TIME [/T | time]显示当前时间设置和输入新时间的提示,请键入
不带参数的 TIME。要保留现有时间,请按 Enter。如果命令扩展被启用,TIME 命令会支持 /T 命令行开关;该命令行开关告诉
命令只输出当前时间,但不提示输入新时间。C:\\Users\\XIAO>

2.显示当前时间

C:\\Users\\XIAO>time /t
20:35C:\\Users\\XIAO>

9. start

功能: 用来启动一个程序的命令。
解释: 无。
运行示例:
1.查看帮助信息

C:\\Users\\XIAO>start /?
启动一个单独的窗口以运行指定的程序或命令。START ["title"] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED][/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL][/NODE <NUMA node>] [/AFFINITY <hex affinity mask>] [/WAIT] [/B][/MACHINE <x86|amd64|arm|arm64>][command/program] [parameters]"title"     在窗口标题栏中显示的标题。path        启动目录。B           启动应用程序,但不创建新窗口。应用程序已忽略 ^C 处理。除非应用程序启用 ^C 处理,否则 ^Break 是唯一可以中断该应用程序的方式。I           新的环境将是传递给 cmd.exe 的原始环境,而不是当前环境。MIN         以最小化方式启动窗口。MAX         以最大化方式启动窗口。SEPARATE    在单独的内存空间中启动 16 位 Windows 程序。SHARED      在共享内存空间中启动 16 位 Windows 程序。LOW         在 IDLE 优先级类中启动应用程序。NORMAL      在 NORMAL 优先级类中启动应用程序。HIGH        在 HIGH 优先级类中启动应用程序。REALTIME    在 REALTIME 优先级类中启动应用程序。ABOVENORMAL 在 ABOVENORMAL 优先级类中启动应用程序。BELOWNORMAL 在 BELOWNORMAL 优先级类中启动应用程序。NODE        将首选非一致性内存结构(NUMA)节点指定为十进制整数。AFFINITY    将处理器关联掩码指定为十六进制数字。进程被限制在这些处理器上运行。

2.start 在新的窗口启动一个脚本命令

C:\\Users\\XIAO\\Desktop\\study>type hello.bat
@echo off
echo hello,world!
pauseC:\\Users\\XIAO\\Desktop\\study>start hello.batC:\\Users\\XIAO\\Desktop\\study>

BAT脚本学习笔记
3.start 在旧的窗口启动一个脚本命令

C:\\Users\\XIAO\\Desktop\\study>start /B hello.batC:\\Users\\XIAO\\Desktop\\study>hello,world!
请按任意键继续. . .
C:\\Users\\XIAO\\Desktop\\study>

10. call

功能: 用来调用一个新的脚本文件。
解释: 无。
运行示例:
代码:

C:\\Users\\XIAO\\Desktop\\study>type hello.bat
系统找不到指定的文件。
处理: .call.bat.swptype 时出错。hello.bat@echo off
echo hello,world!call call.bat %1 %2 %3
pauseC:\\Users\\XIAO\\Desktop\\study>type call.bat
@echo off
echo recieve args: %1 %2 %3
net user
C:\\Users\\XIAO\\Desktop\\study>

运行结果:

C:\\Users\\XIAO\\Desktop\\study>hello.bat
hello,world!
recieve args:\\\\DESKTOP-BNU9SN9 的用户帐户-------------------------------------------------------------------------------
Administrator            DefaultAccount           Guest
WDAGUtilityAccount       XIAO
命令成功完成。请按任意键继续. . .
C:\\Users\\XIAO\\Desktop\\study>C:\\Users\\XIAO\\Desktop\\study>hello.bat 1 2 33
hello,world!
recieve args: 1 2 33\\\\DESKTOP-BNU9SN9 的用户帐户-------------------------------------------------------------------------------
Administrator            DefaultAccount           Guest
WDAGUtilityAccount       XIAO
命令成功完成。请按任意键继续. . .
C:\\Users\\XIAO\\Desktop\\study>

11. tasklist

功能: 获取主机或远程主机进程运行状态信息。
解释: 无。
运行示例:
1.获取当前主机进程信息

C:\\Users\\XIAO\\Desktop\\study>tasklist映像名称                       PID 会话名              会话#       内存使用
========================= ======== ================ =========== ============
System Idle Process              0 Services                   0          8 K
System                           4 Services                   0     14,648 K
Registry                       168 Services                   0     35,740 K
smss.exe                       644 Services                   0      1,300 K
csrss.exe                      928 Services                   0      6,332 K
wininit.exe                    796 Services                   0      7,260 K
csrss.exe                      788 Console                    1      7,132 K
services.exe                  1000 Services                   0     11,048 K
lsass.exe                     1056 Services                   0     15,968 K
winlogon.exe                  1112 Console                    1      3,904 K
svchost.exe                   1248 Services                   0     20,596 K
fontdrvhost.exe               1276 Console                    1     13,296 K
fontdrvhost.exe               1280 Services                   0      1,064 K
svchost.exe                   1388 Services                   0     11,792 K
svchost.exe                   1432 Services                   0      3,296 K
dwm.exe                       1508 Console                    1     82,292 K
svchost.exe                   1620 Services                   0        932 K
svchost.exe                   1632 Services                   0      9,080 K
svchost.exe                   1688 Services                   0      2,776 K
svchost.exe                   1696 Services                   0      4,712 K
svchost.exe                   1708 Services                   0      4,688 K
svchost.exe                   1820 Services                   0      5,560 K
svchost.exe                   1832 Services                   0      1,104 K
svchost.exe                   1892 Services                   0      3,688 K
svchost.exe                   1944 Services                   0      2,012 K
svchost.exe                   2004 Services                   0      7,520 K
WUDFHost.exe                  2120 Services                   0      1,928 K
svchost.exe                   2144 Services                   0     16,148 K
atiesrxx.exe                  2152 Services                   0      1,332 K
amdfendrsr.exe                2160 Services                   0      1,396 K
AsusCertService.exe           2184 Services                   0      4,016 K
svchost.exe                   2324 Services                   0      4,068 K
svchost.exe                   2420 Services                   0      1,076 K
svchost.exe                   2580 Services                   0      2,392 K
svchost.exe                   2612 Services                   0     15,196 K
svchost.exe                   2688 Services                   0      3,608 K
atieclxx.exe                  2792 Console                    1      5,340 K
svchost.exe                   2848 Services                   0      5,716 K
svchost.exe                   2856 Services                   0      1,324 K
svchost.exe                   2864 Services                   0      4,312 K
Memory Compression            2956 Services                   0    248,940 K
svchost.exe                   2976 Services                   0      6,544 K
svchost.exe                   3020 Services                   0      4,456 K
svchost.exe                   3028 Services                   0      4,700 K
svchost.exe                   3132 Services                   0      8,360 K
atkexComSvc.exe               3156 Services                   0      3,188 K
svchost.exe                   3280 Services                   0     13,076 K
svchost.exe                   3612 Services                   0      2,336 K
WmiPrvSE.exe                  3776 Services                   0      5,032 K
svchost.exe                   3900 Services                   0      3,312 K
svchost.exe                   3932 Services                   0      3,048 K
svchost.exe                   3940 Services                   0      2,176 K
svchost.exe                   4000 Services                   0      3,760 K
spoolsv.exe                   3464 Services                   0      3,208 K
svchost.exe                   3428 Services                   0      8,588 K
svchost.exe                   3848 Services                   0      2,500 K
svchost.exe                   4228 Services                   0      8,916 K
svchost.exe                   4236 Services                   0     19,584 K
svchost.exe                   4244 Services                   0     27,992 K
svchost.exe                   4252 Services                   0      2,588 K
ArmouryCrate.Service.exe      4260 Services                   0      8,060 K
svchost.exe                   4276 Services                   0     13,548 K
svchost.exe                   4284 Services                   0      7,648 K
svchost.exe                   4292 Services                   0        640 K
ROGLiveService.exe            4300 Services                   0      4,636 K
svchost.exe                   4308 Services                   0      1,264 K
AsusFanControlService.exe     4316 Services                   0      5,604 K
Everything.exe                4324 Services                   0      1,148 K
WMIRegistrationService.ex     4344 Services                   0      2,556 K
MsMpEng.exe                   4364 Services                   0    237,876 K
LightingService.exe           4372 Services                   0      6,872 K
svchost.exe                   4780 Services                   0      3,568 K
jhi_service.exe               4824 Services                   0      1,176 K
svchost.exe                   4932 Services                   0      3,144 K
AggregatorHost.exe            5452 Services                   0      5,468 K
Aac3572DramHal_x86.exe        5732 Services                   0      2,700 K
unsecapp.exe                  6080 Services                   0      2,304 K
extensionCardHal_x86.exe      4220 Services                   0      2,744 K
AacKingstonDramHal_x86.ex     5560 Services                   0      2,688 K
NisSrv.exe                    6116 Services                   0     12,552 K
svchost.exe                   3864 Services                   0      2,252 K
svchost.exe                   6152 Services                   0      1,276 K
svchost.exe                   6232 Services                   0      2,608 K
svchost.exe                   6296 Services                   0      1,132 K
dasHost.exe                   6332 Services                   0      3,868 K
svchost.exe                   6420 Services                   0      3,076 K
AacKingstonDramHal_x64.ex     6648 Services                   0      2,500 K
svchost.exe                   6952 Services                   0      8,000 K
SecurityHealthService.exe     6588 Services                   0     18,636 K
svchost.exe                   4868 Services                   0      8,928 K
svchost.exe                   6136 Services                   0     20,400 K
SgrmBroker.exe                2032 Services                   0      9,876 K
svchost.exe                   5460 Services                   0      7,704 K
uhssvc.exe                    3292 Services                   0      1,180 K
svchost.exe                   5524 Services                   0     10,844 K
svchost.exe                   3968 Services                   0     11,196 K
svchost.exe                   6960 Services                   0     33,124 K
svchost.exe                   6504 Services                   0      2,496 K
svchost.exe                   4444 Services                   0     20,784 K
svchost.exe                   7120 Services                   0     11,980 K
WmiPrvSE.exe                  2696 Services                   0     13,456 K
svchost.exe                   3976 Services                   0      8,792 K
svchost.exe                   2572 Services                   0      6,056 K
ArmouryCrate.UserSessionH     4020 Console                    1     30,040 K
sihost.exe                    5136 Console                    1     20,348 K
conhost.exe                   4424 Console                    1      2,320 K
svchost.exe                   2040 Console                    1     10,680 K
svchost.exe                   3964 Console                    1      2,492 K
svchost.exe                   5748 Console                    1     16,356 K
taskhostw.exe                 4616 Console                    1     15,232 K
AcPowerNotification.exe       1736 Console                    1      6,080 K
ArmourySocketServer.exe       5520 Console                    1        956 K
asus_framework.exe            2872 Console                    1     19,596 K
explorer.exe                  4088 Console                    1    189,912 K
svchost.exe                   1320 Services                   0      9,068 K
svchost.exe                   7392 Console                    1     17,832 K
SearchHost.exe                7908 Console                    1    180,784 K
StartMenuExperienceHost.e     7932 Console                    1     31,232 K
Widgets.exe                   7984 Console                    1     45,404 K
RuntimeBroker.exe             8108 Console                    1     12,872 K
RuntimeBroker.exe             7244 Console                    1     33,868 K
svchost.exe                   8340 Console                    1      7,732 K
dllhost.exe                   8832 Console                    1     11,060 K
ctfmon.exe                    9464 Console                    1     37,652 K
asus_framework.exe            9688 Console                    1      3,560 K
ArmourySwAgent.exe            9368 Console                    1      1,572 K
ChsIME.exe                    7628 Console                    1      2,480 K
asus_framework.exe            5384 Console                    1      3,568 K
TextInputHost.exe             3528 Console                    1     43,952 K
asus_framework.exe           11096 Console                    1      2,696 K
SecurityHealthSystray.exe     8204 Console                    1      3,728 K
msedge.exe                   12104 Console                    1    179,648 K
msedge.exe                   12160 Console                    1      2,356 K
YunDetectService.exe         11340 Console                    1      3,176 K
msedge.exe                   11928 Console                    1    191,588 K
msedge.exe                   11940 Console                    1     35,004 K
msedge.exe                   11924 Console                    1      8,920 K
RuntimeBroker.exe            13020 Console                    1      6,712 K
svchost.exe                  12536 Services                   0     15,316 K
OneDrive.exe                 12096 Console                    1     18,204 K
msedge.exe                    3920 Console                    1     22,360 K
msedge.exe                    9588 Console                    1     23,196 K
msedge.exe                    6732 Console                    1      6,664 K
svchost.exe                   2356 Services                   0     10,400 K
LocationNotificationWindo     8448 Console                    1      1,972 K
msedge.exe                   12076 Console                    1    168,052 K
msedge.exe                   12648 Console                    1     48,144 K
msedge.exe                   12796 Console                    1     59,044 K
msedge.exe                    5516 Console                    1      7,780 K
msedge.exe                    2072 Console                    1      9,776 K
msedge.exe                   12872 Console                    1     10,540 K
msedge.exe                   13472 Console                    1     33,944 K
msedge.exe                   13792 Console                    1     11,296 K
msedge.exe                   13928 Console                    1     57,584 K
msedge.exe                   14088 Console                    1     20,584 K
msedge.exe                   14120 Console                    1      6,588 K
msedge.exe                   14260 Console                    1     18,788 K
msedge.exe                   14804 Console                    1     70,720 K
msedge.exe                   15320 Console                    1     48,716 K
ComputerZTray.exe            14492 Console                    1     43,308 K
svchost.exe                   1424 Services                   0      2,324 K
ComputerZService.exe          7136 Console                    1     21,636 K
unsecapp.exe                 15012 Console                    1      3,872 K
computercenter.exe            5792 Console                    1     49,360 K
NavPlugin.exe                14972 Console                    1     10,000 K
web_host.exe                 15372 Console                    1     12,384 K
CefView.exe                  15956 Console                    1     15,800 K
CefView.exe                  16196 Console                    1     40,192 K
hdw_disk_scan.exe            16368 Console                    1      6,300 K
CefView.exe                  15104 Console                    1      5,344 K
CefView.exe                  15512 Console                    1      6,400 K
ComputerZDeskTaskbar.exe     15612 Console                    1      9,644 K
msedge.exe                   15836 Console                    1     68,840 K
msedge.exe                   16080 Console                    1     24,584 K
RuntimeBroker.exe            10812 Console                    1     23,744 K
msedge.exe                   14560 Console                    1     52,504 K
msedge.exe                   11380 Console                    1    108,152 K
msedge.exe                   16464 Console                    1     15,312 K
msedge.exe                   16964 Console                    1      7,456 K
PhoneExperienceHost.exe      17360 Console                    1    159,768 K
svchost.exe                   9400 Console                    1     20,864 K
msedge.exe                   16632 Console                    1     14,316 K
WidgetService.exe            15940 Console                    1     23,560 K
msedge.exe                   11432 Console                    1     99,552 K
msedge.exe                   17476 Console                    1    152,852 K
msedgewebview2.exe           16024 Console                    1      7,544 K
msedgewebview2.exe           17284 Console                    1      7,920 K
msedgewebview2.exe            8580 Console                    1      4,756 K
msedgewebview2.exe            6084 Console                    1      2,404 K
msedgewebview2.exe           13688 Console                    1        452 K
msedgewebview2.exe            2588 Console                    1      2,804 K
msedge.exe                    6928 Console                    1     30,340 K
svchost.exe                  11076 Services                   0     23,368 K
svchost.exe                  11576 Services                   0     10,940 K
svchost.exe                   3008 Services                   0      8,028 K
svchost.exe                   5216 Services                   0      9,828 K
armsvc.exe                   11560 Services                   0      7,512 K
SearchIndexer.exe             5836 Services                   0     32,612 K
backgroundTaskHost.exe       17692 Console                    1      1,600 K
cmd.exe                      14728 Console                    1      6,624 K
conhost.exe                  17652 Console                    1      8,580 K
OpenConsole.exe              16816 Console                    1     12,480 K
WindowsTerminal.exe          14644 Console                    1     95,216 K
SnippingTool.exe              8132 Console                    1    125,800 K
svchost.exe                  16796 Console                    1     11,264 K
svchost.exe                  11508 Services                   0      9,280 K
dllhost.exe                  13872 Console                    1      7,552 K
svchost.exe                   5004 Console                    1     12,796 K
cmd.exe                      16812 Console                    1     15,100 K
Notepad--.exe                17644 Console                    1     57,524 K
DataExchangeHost.exe         17880 Console                    1     26,388 K
Taskmgr.exe                  14404 Console                    1    114,084 K
svchost.exe                  11176 Services                   0     16,844 K
svchost.exe                  17416 Services                   0      8,460 K
OneDriveStandaloneUpdater    15300 Console                    1     18,420 K
svchost.exe                  17508 Services                   0     23,364 K
audiodg.exe                  13716 Services                   0     13,436 K
tasklist.exe                  3996 Console                    1      9,240 KC:\\Users\\XIAO\\Desktop\\study>

2.查看帮助信息

C:\\Users\\XIAO\\Desktop\\study>tasklist /?TASKLIST [/S system [/U username [/P [password]]]][/M [module] | /SVC | /V] [/FI filter] [/FO format] [/NH]描述:该工具显示在本地或远程机器上当前运行的进程列表。参数列表:/S     system           指定连接到的远程系统。/U     [domain\\]user    指定应该在哪个用户上下文执行这个命令。/P     [password]       为提供的用户上下文指定密码。如果省略,则提示输入。/M     [module]         列出当前使用所给 exe/dll 名称的所有任务。如果没有指定模块名称,显示所有加载的模块。/SVC                    显示每个进程中主持的服务。/APPS 显示 Microsoft Store 应用及其关联的进程。/V                      显示详细任务信息。/FI    filter           显示一系列符合筛选器指定条件的任务。/FO    format           指定输出格式。有效值: "TABLE""LIST""CSV"。/NH                     指定列标题不应该在输出中显示。只对 "TABLE""CSV" 格式有效。/?                      显示此帮助消息。筛选器:筛选器名称     有效运算符           有效值-----------     ---------------           --------------------------STATUS          eq, ne                    RUNNING | SUSPENDEDNOT RESPONDING | UNKNOWNIMAGENAME       eq, ne                    映像名称PID             eq, ne, gt, lt, ge, le    PID 值SESSION         eq, ne, gt, lt, ge, le    会话编号SESSIONNAME     eq, ne                    会话名称CPUTIME         eq, ne, gt, lt, ge, le    CPU 时间,格式为hh:mm:ss。hh - 小时,mm - 分钟,ss - 秒MEMUSAGE        eq, ne, gt, lt, ge, le    内存使用(以 KB 为单位)USERNAME        eq, ne                    用户名,格式为[\\]用户SERVICES        eq, ne                    服务名称WINDOWTITLE     eq, ne                    窗口标题模块         eq, ne                    DLL 名称注意: 当查询远程计算机时,不支持 "WINDOWTITLE""STATUS"筛选器。Examples:TASKLISTTASKLIST /MTASKLIST /V /FO CSVTASKLIST /SVC /FO LISTTASKLIST /APPS /FI "STATUS eq RUNNING"TASKLIST /M wbem*TASKLIST /S system /FO LISTTASKLIST /S system /U 域\\用户名 /FO CSV /NHTASKLIST /S system /U username /P password /FO TABLE /NHTASKLIST /FI "USERNAME ne NT AUTHORITY\\SYSTEM" /FI "STATUS eq running"C:\\Users\\XIAO\\Desktop\\study>

3.查找当前占用内存100M以上,并且状态为unknown的进程。

C:\\Users\\XIAO\\Desktop\\study>TASKLIST /FI "STATUS eq UNKNOWN" /FI "MEMUSAGE gt 100000"映像名称                       PID 会话名              会话#       内存使用
========================= ======== ================ =========== ============
Memory Compression            2956 Services                   0    209,004 K
MsMpEng.exe                   4364 Services                   0    219,064 K
msedge.exe                   12076 Console                    1    181,100 K
msedge.exe                   11380 Console                    1    107,812 K
msedge.exe                   17476 Console                    1    152,856 KC:\\Users\\XIAO\\Desktop\\study>

4.将当前的查询结果以csv的格式保存下来。

C:\\Users\\XIAO\\Desktop\\study>TASKLIST /FI "STATUS eq UNKNOWN" /FI "MEMUSAGE gt 100000" /FO csv
"映像名称","PID","会话名      ","会话#   ","内存使用 "
"Memory Compression","2956","Services","0","208,876 K"
"MsMpEng.exe","4364","Services","0","220,220 K"
"msedge.exe","12076","Console","1","167,732 K"
"msedge.exe","11380","Console","1","107,820 K"
"msedge.exe","17476","Console","1","152,856 K"C:\\Users\\XIAO\\Desktop\\study>

12. taskkill

功能: 使用该工具按照进程 ID (PID) 或映像名称终止任务。
解释: 无。
运行示例:
1.查看帮助信息。

C:\\Users\\XIAO\\Desktop\\study>taskkill /?TASKKILL [/S system [/U username [/P [password]]]]{ [/FI filter] [/PID processid | /IM imagename] } [/T] [/F]描述:使用该工具按照进程 ID (PID) 或映像名称终止任务。参数列表:/S    system           指定要连接的远程系统。/U    [domain\\]user    指定应该在哪个用户上下文执行这个命令。/P    [password]       为提供的用户上下文指定密码。如果忽略,提示输入。/FI   filter           应用筛选器以选择一组任务。允许使用 "*"。例如,映像名称 eq acme*/PID  processid        指定要终止的进程的 PID。使用 TaskList 取得 PID。/IM   imagename        指定要终止的进程的映像名称。通配符 '*'可用来指定所有任务或映像名称。/T                     终止指定的进程和由它启用的子进程。/F                     指定强制终止进程。/?                     显示帮助消息。筛选器:筛选器名      有效运算符                有效值-----------   ---------------           -------------------------STATUS        eq, ne                    RUNNING |NOT RESPONDING | UNKNOWNIMAGENAME     eq, ne                    映像名称PID           eq, ne, gt, lt, ge, le    PID 值SESSION       eq, ne, gt, lt, ge, le    会话编号。CPUTIME       eq, ne, gt, lt, ge, le    CPU 时间,格式为hh:mm:ss。hh - 时,mm - 分,ss - 秒MEMUSAGE      eq, ne, gt, lt, ge, le    内存使用量,单位为 KBUSERNAME      eq, ne                    用户名,格式为 [domain\\]userMODULES       eq, ne                    DLL 名称SERVICES      eq, ne                    服务名称WINDOWTITLE   eq, ne                    窗口标题说明----1) 只有在应用筛选器的情况下,/IM 切换才能使用通配符 '*'2) 远程进程总是要强行 (/F) 终止。3) 当指定远程机器时,不支持 "WINDOWTITLE""STATUS" 筛选器。例如:TASKKILL /IM notepad.exeTASKKILL /PID 1230 /PID 1241 /PID 1253 /TTASKKILL /F /IM cmd.exe /TTASKKILL /F /FI "PID ge 1000" /FI "WINDOWTITLE ne untitle*"TASKKILL /F /FI "USERNAME eq NT AUTHORITY\\SYSTEM" /IM notepad.exeTASKKILL /S system /U 域\\用户名 /FI "用户名 ne NT*" /IM *TASKKILL /S system /U username /P password /FI "IMAGENAME eq note*"C:\\Users\\XIAO\\Desktop\\study>

2.停止进程状态为unknown,占用内存大小为100M以上的进程

taskkill /FI "STATUS eq UNKNOWN" /FI "MEMUSAGE gt 100000" /F /T
错误: 无法终止 PID 2956 (属于 PID 4 子进程)的进程。
原因: 拒绝访问。
错误: 无法终止 PID 4364 (属于 PID 1000 子进程)的进程。
原因: 拒绝访问。
成功: 已终止 PID 17772 (属于 PID 12104 子进程)的进程。
C:\\Users\\XIAO\\Desktop\\study>

13. tree

功能: 列出当前路径中的文件和文件夹。
解释: 无。
运行示例:
1.查看帮助信息

C:\\Users\\XIAO\\Desktop\\study>tree /?
以图形显示驱动器或路径的文件夹结构。TREE [drive:][path] [/F] [/A]/F   显示每个文件夹中文件的名称。/A   使用 ASCII 字符,而不使用扩展字符。C:\\Users\\XIAO\\Desktop\\study>

2.显示文件加中的文件名称

C:\\Users\\XIAO\\Desktop\\study>tree
文件夹 PATH 列表
卷序列号为 A64D-8F63
C:.
没有子文件夹C:\\Users\\XIAO\\Desktop\\study>tree /F
文件夹 PATH 列表
卷序列号为 A64D-8F63
C:..call.bat.swp.hello.bat.swp.math.bat.swparg.batcall.bathello.batmath.batrem.batrem2.bat没有子文件夹C:\\Users\\XIAO\\Desktop\\study>

3.使用/A参数显示

C:\\Users\\XIAO\\Desktop\\study>tree /F /A
文件夹 PATH 列表
卷序列号为 A64D-8F63
C:..call.bat.swp.hello.bat.swp.math.bat.swparg.batcall.bathello.batmath.batrem.batrem2.bat没有子文件夹C:\\Users\\XIAO\\Desktop\\study>

14. shutdown

功能: 关机命令。
解释: 无。
运行示例:
1.查看帮助信息

C:\\Users\\XIAO\\Desktop\\study>shutdown /?
用法: shutdown [/i | /l | /s | /sg | /r | /g | /a | /p | /h | /e | /o] [/hybrid] [/soft] [/fw] [/f][/m \\\\computer][/t xxx][/d [p|u:]xx:yy [/c "comment"]]没有参数   显示帮助。这与键入 /? 是一样的。/?         显示帮助。这与不键入任何选项是一样的。/i         显示图形用户界面(GUI)。这必须是第一个选项。/l         注销。这不能与 /m 或 /d 选项一起使用。/s         关闭计算机。/sg        关闭计算机。在下一次启动时,如果启用了自动重启登录,则将自动登录并锁定上次交互用户。登录后,重启任何已注册的应用程序。/r         完全关闭并重启计算机。/g         完全关闭并重启计算机。重新启动系统后,如果启用了自动重启登录,则将自动登录并锁定上次交互用户。登录后,重启任何已注册的应用程序。/a         中止系统关闭。这只能在超时期间使用。与 /fw 结合使用,以清除任何未完成的至固件的引导。/p         关闭本地计算机,没有超时或警告。可以与 /d 和 /f 选项一起使用。/h         休眠本地计算机。可以与 /f 选项一起使用。/hybrid    执行计算机关闭并进行准备以快速启动。必须与 /s 选项一起使用。/fw        与关闭选项结合使用,使下次启动转到固件用户界面。/e         记录计算机意外关闭的原因。/o         转到高级启动选项菜单并重新启动计算机。必须与 /r 选项一起使用。/m \\\\computer 指定目标计算机。/t xxx     将关闭前的超时时间设置为 xxx 秒。有效范围是 0-315360000 (10),默认值为 30。如果超时期限大于 0,则 /f 参数为/f 参数。/c "comment" 注释重启或关闭的原因。最多允许 512 个字符。/f         强制关闭正在运行的应用程序而不事先警告用户。当大于 0 的值为时,隐含 /f 参数               则默示为 /f 参数。/d [p|u:]xx:yy  提供重新启动或关闭的原因。p 指示重启或关闭是计划内的。u 指示原因是用户定义的。如果未指定 p 和 u,则
重新启动或关闭               是计划外的。xx 是主要原因编号(小于 256 的正整数)。yy 是次要原因编号(小于 65536 的正整数)。此计算机上的原因:
(E = 预期 U = 意外 P = 计划内,C = 自定义)
类别    主要    次要    标题U      0       0       其他(计划外)
E       0       0       其他(计划外)
E P     0       0       其他(计划内)U      0       5       其他故障: 系统没有反应
E       1       1       硬件: 维护(计划外)
E P     1       1       硬件: 维护(计划内)
E       1       2       硬件: 安装(计划外)
E P     1       2       硬件: 安装(计划内)
E       2       2       操作系统: 恢复(计划外)
E P     2       2       操作系统: 恢复(计划内)P     2       3       操作系统: 升级(计划内)
E       2       4       操作系统: 重新配置(计划外)
E P     2       4       操作系统: 重新配置(计划内)P     2       16      操作系统: Service Pack (计划内)2       17      操作系统: 热修补(计划外)P     2       17      操作系统: 热修补(计划内)2       18      操作系统: 安全修补(计划外)P     2       18      操作系统: 安全修补(计划内)
E       4       1       应用程序: 维护(计划外)
E P     4       1       应用程序: 维护(计划内)
E P     4       2       应用程序: 安装(计划内)
E       4       5       应用程序: 没有反应
E       4       6       应用程序: 不稳定U      5       15      系统故障: 停止错误U      5       19      安全问题(计划外)
E       5       19      安全问题(计划外)
E P     5       19      安全问题(计划内)
E       5       20      网络连接丢失(计划外)U      6       11      电源故障: 电线被拔掉U      6       12      电源故障: 环境P     7       0       旧版 API 关机C:\\Users\\XIAO\\Desktop\\study>

2.shutdown 直接关闭命令

shutdown -p

15. at

功能: 计划任务命令,目前已经弃用,请使用SCHTASKS。
解释: 无。
运行示例:
1.添加任务

at 22:00 "notepad.exe"

2.删除任务

at 任务id /delete

16. set

功能: 查看和设置当前的环境变量。
解释: 无。
运行示例:
1.查看当前系统变量

C:\\Users\\XIAO\\Desktop\\study>set
ACSetupSvcPort=23210
ACSvcPort=17532
ALLUSERSPROFILE=C:\\ProgramData
APPDATA=C:\\Users\\XIAO\\AppData\\Roaming
CommonProgramFiles=C:\\Program Files\\Common Files
CommonProgramFiles(x86)=C:\\Program Files (x86)\\Common Files
CommonProgramW6432=C:\\Program Files\\Common Files
COMPUTERNAME=DESKTOP-BNU9SN9
ComSpec=C:\\WINDOWS\\system32\\cmd.exe
DriverData=C:\\Windows\\System32\\Drivers\\DriverData
EFC_4088=1
FPS_BROWSER_APP_PROFILE_STRING=Internet Explorer
FPS_BROWSER_USER_PROFILE_STRING=Default
HOMEDRIVE=C:
HOMEPATH=\\Users\\XIAO
LOCALAPPDATA=C:\\Users\\XIAO\\AppData\\Local
LOGONSERVER=\\\\DESKTOP-BNU9SN9
NUMBER_OF_PROCESSORS=12
OneDrive=C:\\Users\\XIAO\\OneDrive
OS=Windows_NT
Path=C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\WINDOWS\\System32\\OpenSSH\\;C:\\Users\\XIAO\\AppData\\Local\\Microsoft\\WindowsApps;
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 151 Stepping 2, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=9702
ProgramData=C:\\ProgramData
ProgramFiles=C:\\Program Files
ProgramFiles(x86)=C:\\Program Files (x86)
ProgramW6432=C:\\Program Files
PROMPT=$P$G
PSModulePath=C:\\Program Files\\WindowsPowerShell\\Modules;C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\Modules
PUBLIC=C:\\Users\\Public
RlsSvcPort=22112
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\\WINDOWS
TEMP=C:\\Users\\XIAO\\AppData\\Local\\Temp
TMP=C:\\Users\\XIAO\\AppData\\Local\\Temp
USERDOMAIN=DESKTOP-BNU9SN9
USERDOMAIN_ROAMINGPROFILE=DESKTOP-BNU9SN9
USERNAME=XIAO
USERPROFILE=C:\\Users\\XIAO
VBOX_MSI_INSTALL_PATH=C:\\Program Files\\Oracle\\VirtualBox\\
windir=C:\\WINDOWSC:\\Users\\XIAO\\Desktop\\study>

2.打印单独变量值

C:\\Users\\XIAO\\Desktop\\study>echo %OS%
Windows_NTC:\\Users\\XIAO\\Desktop\\study>

17. dir

功能: 查看当前目录的文件和目录。
解释: 无。
运行示例:
1.查看隐藏目录和文件

C:\\>dir /AH驱动器 C 中的卷没有标签。卷的序列号是 A64D-8F63C:\\ 的目录2023/02/19  03:22    <DIR>          $GetCurrent
2023/03/23  23:36    <DIR>          $Recycle.Bin
2023/03/15  19:13    <DIR>          $WinREAgent
2019/12/07  17:08           413,738 bootmgr
2019/12/07  17:08                 1 BOOTNXT
2023/02/18  21:21    <JUNCTION>     Documents and Settings [C:\\Users]
2023/03/31  20:07            12,288 DumpStack.log.tmp
2023/03/31  22:53     6,793,641,984 hiberfil.sys
2023/02/25  08:56    <DIR>          KRECYCLE
2023/03/31  20:07     2,550,136,832 pagefile.sys
2023/02/26  12:40    <DIR>          ProgramData
2023/02/19  03:21    <DIR>          Recovery
2023/03/31  20:07        16,777,216 swapfile.sys
2023/03/31  20:28    <DIR>          System Volume Information6 个文件  9,360,982,059 字节8 个目录 417,839,935,488 可用字节C:\\>

2.将输出编程小写

 C:\\Users\\XIAO\\Desktop\\study 的目录2023/03/31  20:53    <DIR>          .
2023/03/22  22:49    <DIR>          ..
2023/03/31  20:56                48 .call.bat.swp
2023/03/31  20:56                66 .hello.bat.swp
2023/03/22  23:53               302 .math.bat.swp
2023/03/23  23:47                56 arg.bat
2023/03/31  20:56                48 call.bat
2023/03/31  20:56                66 hello.bat
2023/03/22  23:53               302 math.bat
2023/03/23  23:54                39 rem.bat
2023/03/23  23:57                37 rem2.bat9 个文件            964 字节2 个目录 417,838,821,376 可用字节C:\\Users\\XIAO\\Desktop\\study>

18. mkdir

功能: 创建目录。
解释: 无。
运行示例:
1.查看帮助

C:\\Users\\XIAO\\Desktop\\study> mkdir /?
创建目录。MKDIR [drive:]path
MD [drive:]path如果命令扩展被启用,MKDIR 会如下改变:如果需要,MKDIR 会在路径中创建中级目录。例如: 假设 \\a 不
存在,那么:mkdir \\a\\b\\c\\d与:mkdir \\achdir \\amkdir bchdir bmkdir cchdir cmkdir d相同。如果扩展被停用,则需要键入 mkdir \\a\\b\\c\\d。C:\\Users\\XIAO\\Desktop\\study>

2.创建一个test目录

C:\\Users\\XIAO\\Desktop\\study>dir驱动器 C 中的卷没有标签。卷的序列号是 A64D-8F63C:\\Users\\XIAO\\Desktop\\study 的目录2023/03/31  20:53    <DIR>          .
2023/03/22  22:49    <DIR>          ..
2023/03/31  20:56                48 .call.bat.swp
2023/03/31  20:56                66 .hello.bat.swp
2023/03/22  23:53               302 .math.bat.swp
2023/03/23  23:47                56 arg.bat
2023/03/31  20:56                48 call.bat
2023/03/31  20:56                66 hello.bat
2023/03/22  23:53               302 math.bat
2023/03/23  23:54                39 rem.bat
2023/03/23  23:57                37 rem2.bat9 个文件            964 字节2 个目录 417,842,204,672 可用字节C:\\Users\\XIAO\\Desktop\\study>mkdir testC:\\Users\\XIAO\\Desktop\\study>dir驱动器 C 中的卷没有标签。卷的序列号是 A64D-8F63C:\\Users\\XIAO\\Desktop\\study 的目录2023/03/31  23:35    <DIR>          .
2023/03/22  22:49    <DIR>          ..
2023/03/31  20:56                48 .call.bat.swp
2023/03/31  20:56                66 .hello.bat.swp
2023/03/22  23:53               302 .math.bat.swp
2023/03/23  23:47                56 arg.bat
2023/03/31  20:56                48 call.bat
2023/03/31  20:56                66 hello.bat
2023/03/22  23:53               302 math.bat
2023/03/23  23:54                39 rem.bat
2023/03/23  23:57                37 rem2.bat
2023/03/31  23:35    <DIR>          test9 个文件            964 字节3 个目录 417,842,196,480 可用字节C:\\Users\\XIAO\\Desktop\\study>

19. rmdir

功能: 删除目录。
解释: 无。
运行示例:
1.查看帮助信息

C:\\Users\\XIAO\\Desktop\\study>rmdir /?
删除一个目录。RMDIR [/S] [/Q] [drive:]path
RD [/S] [/Q] [drive:]path/S      除目录本身外,还将删除指定目录下的所有子目录和文件。用于删除目录树。/Q      安静模式,带 /S 删除目录树时不要求确认C:\\Users\\XIAO\\Desktop\\study>

2.删除空目录

C:\\Users\\XIAO\\Desktop\\study>dir驱动器 C 中的卷没有标签。卷的序列号是 A64D-8F63C:\\Users\\XIAO\\Desktop\\study 的目录2023/03/31  23:35    <DIR>          .
2023/03/22  22:49    <DIR>          ..
2023/03/31  20:56                48 .call.bat.swp
2023/03/31  20:56                66 .hello.bat.swp
2023/03/22  23:53               302 .math.bat.swp
2023/03/23  23:47                56 arg.bat
2023/03/31  20:56                48 call.bat
2023/03/31  20:56                66 hello.bat
2023/03/22  23:53               302 math.bat
2023/03/23  23:54                39 rem.bat
2023/03/23  23:57                37 rem2.bat
2023/03/31  23:35    <DIR>          test9 个文件            964 字节3 个目录 417,840,390,144 可用字节C:\\Users\\XIAO\\Desktop\\study>rmdir testC:\\Users\\XIAO\\Desktop\\study>dir驱动器 C 中的卷没有标签。卷的序列号是 A64D-8F63C:\\Users\\XIAO\\Desktop\\study 的目录2023/03/31  23:38    <DIR>          .
2023/03/22  22:49    <DIR>          ..
2023/03/31  20:56                48 .call.bat.swp
2023/03/31  20:56                66 .hello.bat.swp
2023/03/22  23:53               302 .math.bat.swp
2023/03/23  23:47                56 arg.bat
2023/03/31  20:56                48 call.bat
2023/03/31  20:56                66 hello.bat
2023/03/22  23:53               302 math.bat
2023/03/23  23:54                39 rem.bat
2023/03/23  23:57                37 rem2.bat9 个文件            964 字节2 个目录 417,840,451,584 可用字节C:\\Users\\XIAO\\Desktop\\study>

3.删除非空目录

C:\\Users\\XIAO\\Desktop\\study>dir test\\驱动器 C 中的卷没有标签。卷的序列号是 A64D-8F63C:\\Users\\XIAO\\Desktop\\study\\test 的目录2023/03/31  23:41    <DIR>          .
2023/03/31  23:40    <DIR>          ..
2023/03/31  23:41                 8 s.txt1 个文件              8 字节2 个目录 417,840,529,408 可用字节C:\\Users\\XIAO\\Desktop\\study>rmdir /S /Q testC:\\Users\\XIAO\\Desktop\\study>dir驱动器 C 中的卷没有标签。卷的序列号是 A64D-8F63C:\\Users\\XIAO\\Desktop\\study 的目录2023/03/31  23:43    <DIR>          .
2023/03/22  22:49    <DIR>          ..
2023/03/31  20:56                48 .call.bat.swp
2023/03/31  20:56                66 .hello.bat.swp
2023/03/22  23:53               302 .math.bat.swp
2023/03/23  23:47                56 arg.bat
2023/03/31  20:56                48 call.bat
2023/03/31  20:56                66 hello.bat
2023/03/22  23:53               302 math.bat
2023/03/23  23:54                39 rem.bat
2023/03/23  23:57                37 rem2.bat9 个文件            964 字节2 个目录 417,840,459,776 可用字节C:\\Users\\XIAO\\Desktop\\study>

20. cd

功能: 显示当前目录名或者改变当前目录。
解释: 无。
运行示例:
1.查看帮助信息

C:\\Users\\XIAO\\Desktop\\study>cd /?
显示当前目录名或改变当前目录。CHDIR [/D] [drive:][path]
CHDIR [..]
CD [/D] [drive:][path]
CD [..]..   指定要改成父目录。键入 CD drive: 显示指定驱动器中的当前目录。
不带参数只键入 CD,则显示当前驱动器和目录。使用 /D 开关,除了改变驱动器的当前目录之外,
还可改变当前驱动器。如果命令扩展被启用,CHDIR 会如下改变:当前的目录字符串会被转换成使用磁盘名上的大小写。所以,
如果磁盘上的大小写如此,CD C:\\TEMP 会将当前目录设为
C:\\Temp。CHDIR 命令不把空格当作分隔符,因此有可能将目录名改为一个
带有空格但不带有引号的子目录名。例如:cd \\winnt\\profiles\\username\\programs\\start menu与下列相同:
请按任意键继续. . .
C:\\Users\\XIAO\\Desktop\\study>

2.返回上一级目录

C:\\Users\\XIAO\\Desktop\\study>dir驱动器 C 中的卷没有标签。卷的序列号是 A64D-8F63C:\\Users\\XIAO\\Desktop\\study 的目录2023/03/31  23:43    <DIR>          .
2023/03/22  22:49    <DIR>          ..
2023/03/31  20:56                48 .call.bat.swp
2023/03/31  20:56                66 .hello.bat.swp
2023/03/22  23:53               302 .math.bat.swp
2023/03/23  23:47                56 arg.bat
2023/03/31  20:56                48 call.bat
2023/03/31  20:56                66 hello.bat
2023/03/22  23:53               302 math.bat
2023/03/23  23:54                39 rem.bat
2023/03/23  23:57                37 rem2.bat9 个文件            964 字节2 个目录 417,838,661,632 可用字节C:\\Users\\XIAO\\Desktop\\study>cd ..C:\\Users\\XIAO\\Desktop>dir驱动器 C 中的卷没有标签。卷的序列号是 A64D-8F63C:\\Users\\XIAO\\Desktop 的目录2023/03/22  22:49    <DIR>          .
2023/03/29  06:17    <DIR>          ..
2023/03/05  10:38             1,269 Notepad--.lnk
2023/03/31  23:43    <DIR>          study
2023/03/05  13:12    <DIR>          woker
2023/02/19  09:45             2,405 WPS Office.lnk
2023/02/24  23:16             1,051 百度网盘.lnk3 个文件          4,725 字节4 个目录 417,838,661,632 可用字节C:\\Users\\XIAO\\Desktop>

21. rename

功能: 重命名当前目录和文件名。
解释: 无。
运行示例:
1.查看帮助信息

C:\\Users\\XIAO\\Desktop>rename /?
重命名文件。RENAME [drive:][path]filename1 filename2.
REN [drive:][path]filename1 filename2.请注意,你不能为目标文件指定新的驱动器或路径。C:\\Users\\XIAO\\Desktop>

2.重命名目录

C:\\Users\\XIAO\\Desktop\\study 的目录2023/03/31  23:53    <DIR>          .
2023/03/22  22:49    <DIR>          ..
2023/03/31  20:56                48 .call.bat.swp
2023/03/31  20:56                66 .hello.bat.swp
2023/03/22  23:53               302 .math.bat.swp
2023/03/23  23:47                56 arg.bat
2023/03/31  20:56                48 call.bat
2023/03/31  20:56                66 hello.bat
2023/03/22  23:53               302 math.bat
2023/03/23  23:54                39 rem.bat
2023/03/23  23:57                37 rem2.bat
2023/03/31  23:53    <DIR>          test9 个文件            964 字节3 个目录 417,838,514,176 可用字节C:\\Users\\XIAO\\Desktop\\study>rename test test1C:\\Users\\XIAO\\Desktop\\study>dir驱动器 C 中的卷没有标签。卷的序列号是 A64D-8F63C:\\Users\\XIAO\\Desktop\\study 的目录2023/03/31  23:54    <DIR>          .
2023/03/22  22:49    <DIR>          ..
2023/03/31  20:56                48 .call.bat.swp
2023/03/31  20:56                66 .hello.bat.swp
2023/03/22  23:53               302 .math.bat.swp
2023/03/23  23:47                56 arg.bat
2023/03/31  20:56                48 call.bat
2023/03/31  20:56                66 hello.bat
2023/03/22  23:53               302 math.bat
2023/03/23  23:54                39 rem.bat
2023/03/23  23:57                37 rem2.bat
2023/03/31  23:53    <DIR>          test19 个文件            964 字节3 个目录 417,838,497,792 可用字节C:\\Users\\XIAO\\Desktop\\study>

3.重命名文件

C:\\Users\\XIAO\\Desktop\\study>dir驱动器 C 中的卷没有标签。卷的序列号是 A64D-8F63C:\\Users\\XIAO\\Desktop\\study 的目录2023/03/31  23:54    <DIR>          .
2023/03/22  22:49    <DIR>          ..
2023/03/31  20:56                48 .call.bat.swp
2023/03/31  20:56                66 .hello.bat.swp
2023/03/22  23:53               302 .math.bat.swp
2023/03/23  23:47                56 arg.bat
2023/03/31  20:56                48 call.bat
2023/03/31  20:56                66 hello.bat
2023/03/22  23:53               302 math.bat
2023/03/23  23:54                39 rem.bat
2023/03/23  23:57                37 rem2.bat
2023/03/31  23:53    <DIR>          test19 个文件            964 字节3 个目录 417,838,497,792 可用字节C:\\Users\\XIAO\\Desktop\\study>
C:\\Users\\XIAO\\Desktop\\study>
C:\\Users\\XIAO\\Desktop\\study>
C:\\Users\\XIAO\\Desktop\\study>rename arg.bat args.batC:\\Users\\XIAO\\Desktop\\study>dir驱动器 C 中的卷没有标签。卷的序列号是 A64D-8F63C:\\Users\\XIAO\\Desktop\\study 的目录2023/03/31  23:55    <DIR>          .
2023/03/22  22:49    <DIR>          ..
2023/03/31  20:56                48 .call.bat.swp
2023/03/31  20:56                66 .hello.bat.swp
2023/03/22  23:53               302 .math.bat.swp
2023/03/23  23:47                56 args.bat
2023/03/31  20:56                48 call.bat
2023/03/31  20:56                66 hello.bat
2023/03/22  23:53               302 math.bat
2023/03/23  23:54                39 rem.bat
2023/03/23  23:57                37 rem2.bat
2023/03/31  23:53    <DIR>          test19 个文件            964 字节3 个目录 417,837,625,344 可用字节C:\\Users\\XIAO\\Desktop\\study>

21. copy

功能: 复制当前目录下的文件到指定的目录。
解释: 无。
运行示例:
1.查看帮助信息

C:\\Users\\XIAO\\Desktop\\study>copy /?
将一份或多份文件复制到另一个位置。COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/L] [/A | /B ] source [/A | /B][+ source [/A | /B] [+ ...]] [destination [/A | /B]]source       指定要复制的文件。/A           表示一个 ASCII 文本文件。/B           表示一个二进位文件。/D           允许解密要创建的目标文件destination  为新文件指定目录和/或文件名。/V           验证新文件写入是否正确。/N           复制带有非 8dot3 名称的文件时,尽可能使用短文件名。/Y           不使用确认是否要覆盖现有目标文件的提示。/-Y          使用确认是否要覆盖现有目标文件的提示。/Z           用可重新启动模式复制已联网的文件。
/L           如果源是符号链接,请将链接复制到目标而不是源链接指向的实际文件。命令行开关 /Y 可以在 COPYCMD 环境变量中预先设定。
这可能会被命令行上的 /-Y 替代。除非 COPY
命令是在一个批处理脚本中执行的,默认值应为
在覆盖时进行提示。要附加文件,请为目标指定一个文件,为源指定
数个文件(用通配符或 file1+file2+file3 格式)。C:\\Users\\XIAO\\Desktop\\study>

22. del

功能: 删除指定的文件。
解释: 无。
运行示例:
1.查看帮助信息

C:\\Users\\XIAO\\Desktop\\study>del /?
删除一个或多个文件。DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] namesnames         指定一个或多个文件或者目录列表。通配符可用来删除多个文件。如果指定了一个目录,该目录中的所有文件都会被删除。/P            删除每一个文件之前提示确认。/F            强制删除只读文件。/S            删除所有子目录中的指定的文件。/Q            安静模式。删除全局通配符时,不要求确认/A            根据属性选择要删除的文件属性          R  只读文件            S  系统文件H  隐藏文件            A  准备存档的文件I  无内容索引文件      L  重新分析点O  脱机文件            -  表示“否”的前缀如果命令扩展被启用,DEL 和 ERASE 更改如下:/S 开关的显示句法会颠倒,即只显示已经
删除的文件,而不显示找不到的文件。C:\\Users\\XIAO\\Desktop\\study>

2.删除单个文件

C:\\Users\\XIAO\\Desktop\\study>dir test1驱动器 C 中的卷没有标签。卷的序列号是 A64D-8F63C:\\Users\\XIAO\\Desktop\\study\\test1 的目录2023/04/01  08:18    <DIR>          .
2023/03/31  23:55    <DIR>          ..
2023/04/01  08:18                 4 1.txt1 个文件              4 字节2 个目录 417,917,845,504 可用字节C:\\Users\\XIAO\\Desktop\\study>del test1\\1.txtC:\\Users\\XIAO\\Desktop\\study>dir test1驱动器 C 中的卷没有标签。卷的序列号是 A64D-8F63C:\\Users\\XIAO\\Desktop\\study\\test1 的目录2023/04/01  08:19    <DIR>          .
2023/03/31  23:55    <DIR>          ..0 个文件              0 字节2 个目录 417,917,808,640 可用字节C:\\Users\\XIAO\\Desktop\\study>

3.使用通配符,删除单个文件

C:\\Users\\XIAO\\Desktop\\study\\test1>dir驱动器 C 中的卷没有标签。卷的序列号是 A64D-8F63C:\\Users\\XIAO\\Desktop\\study\\test1 的目录2023/04/01  08:21    <DIR>          .
2023/03/31  23:55    <DIR>          ..
2023/04/01  08:21                 4 1.txt
2023/04/01  08:21                 4 2.txt
2023/04/01  08:21                 4 3.txt3 个文件             12 字节2 个目录 417,917,321,216 可用字节C:\\Users\\XIAO\\Desktop\\study\\test1>cd ..C:\\Users\\XIAO\\Desktop\\study>del test1\\*.txtC:\\Users\\XIAO\\Desktop\\study>dir test1驱动器 C 中的卷没有标签。卷的序列号是 A64D-8F63C:\\Users\\XIAO\\Desktop\\study\\test1 的目录2023/04/01  08:21    <DIR>          .
2023/03/31  23:55    <DIR>          ..0 个文件              0 字节2 个目录 417,917,317,120 可用字节C:\\Users\\XIAO\\Desktop\\study>

23. move

功能: 删除指定的文件。
解释: 无。
运行示例:
1.查看帮助信息

C:\\Users\\XIAO\\Desktop\\study>move /?
移动文件并重命名文件和目录。要移动至少一个文件:
MOVE [/Y | /-Y] [drive:][path]filename1[,...] destination要重命名一个目录:
MOVE [/Y | /-Y] [drive:][path]dirname1 dirname2[drive:][path]filename1 指定你想移动的文件位置和名称。destination             指定文件的新位置。目标可包含一个驱动器号和冒号、一个目录名或组合。如果只移动一个文件并在移动时将其重命名,你还可以包括文件名。[drive:][path]dirname1  指定要重命名的目录。dirname2                指定目录的新名称。/Y                      取消确认覆盖一个现有目标文件的提示。/-Y                     对确认覆盖一个现有目标文件发出提示。命令行开关 /Y 可以出现在 COPYCMD 环境变量中。这可以用命令行上
的 /-Y 替代。默认值是,除非 MOVE 命令是从一个批脚本内
执行的,覆盖时都发出提示。C:\\Users\\XIAO\\Desktop\\study>

2.目录重命名和文件剪切

C:\\Users\\XIAO\\Desktop\\study>dir驱动器 C 中的卷没有标签。卷的序列号是 A64D-8F63C:\\Users\\XIAO\\Desktop\\study 的目录2023/03/31  23:55    <DIR>          .
2023/03/22  22:49    <DIR>          ..
2023/03/31  20:56                48 .call.bat.swp
2023/03/31  20:56                66 .hello.bat.swp
2023/03/22  23:53               302 .math.bat.swp
2023/03/23  23:47                56 args.bat
2023/03/31  20:56                48 call.bat
2023/03/31  20:56                66 hello.bat
2023/03/22  23:53               302 math.bat
2023/03/23  23:54                39 rem.bat
2023/03/23  23:57                37 rem2.bat
2023/04/01  08:21    <DIR>          test19 个文件            964 字节3 个目录 417,920,847,872 可用字节C:\\Users\\XIAO\\Desktop\\study>move test1 test2
移动了         1 个目录。C:\\Users\\XIAO\\Desktop\\study>dir驱动器 C 中的卷没有标签。卷的序列号是 A64D-8F63C:\\Users\\XIAO\\Desktop\\study 的目录2023/04/01  08:26    <DIR>          .
2023/03/22  22:49    <DIR>          ..
2023/03/31  20:56                48 .call.bat.swp
2023/03/31  20:56                66 .hello.bat.swp
2023/03/22  23:53               302 .math.bat.swp
2023/03/23  23:47                56 args.bat
2023/03/31  20:56                48 call.bat
2023/03/31  20:56                66 hello.bat
2023/03/22  23:53               302 math.bat
2023/03/23  23:54                39 rem.bat
2023/03/23  23:57                37 rem2.bat
2023/04/01  08:21    <DIR>          test29 个文件            964 字节3 个目录 417,920,708,608 可用字节C:\\Users\\XIAO\\Desktop\\study>
C:\\Users\\XIAO\\Desktop\\study>echo 111 > 1.txt
C:\\Users\\XIAO\\Desktop\\study>move 1.txt C:\\Users\\XIAO\\Desktop\\study\\test2
移动了         1 个文件。C:\\Users\\XIAO\\Desktop\\study>dir驱动器 C 中的卷没有标签。卷的序列号是 A64D-8F63C:\\Users\\XIAO\\Desktop\\study 的目录2023/04/01  08:28    <DIR>          .
2023/03/22  22:49    <DIR>          ..
2023/03/31  20:56                48 .call.bat.swp
2023/03/31  20:56                66 .hello.bat.swp
2023/03/22  23:53               302 .math.bat.swp
2023/03/23  23:47                56 args.bat
2023/03/31  20:56                48 call.bat
2023/03/31  20:56                66 hello.bat
2023/03/22  23:53               302 math.bat
2023/03/23  23:54                39 rem.bat
2023/03/23  23:57                37 rem2.bat
2023/04/01  08:28    <DIR>          test29 个文件            964 字节3 个目录 417,920,602,112 可用字节C:\\Users\\XIAO\\Desktop\\study>cd test2C:\\Users\\XIAO\\Desktop\\study\\test2>dir驱动器 C 中的卷没有标签。卷的序列号是 A64D-8F63C:\\Users\\XIAO\\Desktop\\study\\test2 的目录2023/04/01  08:28    <DIR>          .
2023/04/01  08:28    <DIR>          ..
2023/04/01  08:26                 6 1.txt1 个文件              6 字节2 个目录 417,920,565,248 可用字节C:\\Users\\XIAO\\Desktop\\study\\test2>

3.文件重命名

C:\\Users\\XIAO\\Desktop\\study\\test2>dir驱动器 C 中的卷没有标签。卷的序列号是 A64D-8F63C:\\Users\\XIAO\\Desktop\\study\\test2 的目录2023/04/01  08:28    <DIR>          .
2023/04/01  08:28    <DIR>          ..
2023/04/01  08:26                 6 1.txt1 个文件              6 字节2 个目录 417,920,135,168 可用字节C:\\Users\\XIAO\\Desktop\\study\\test2>move 1.txt test.txt
移动了         1 个文件。C:\\Users\\XIAO\\Desktop\\study\\test2>dir驱动器 C 中的卷没有标签。卷的序列号是 A64D-8F63C:\\Users\\XIAO\\Desktop\\study\\test2 的目录2023/04/01  08:30    <DIR>          .
2023/04/01  08:28    <DIR>          ..
2023/04/01  08:26                 6 test.txt1 个文件              6 字节2 个目录 417,920,163,840 可用字节C:\\Users\\XIAO\\Desktop\\study\\test2>

24. ping

功能: 查看网络地址是否存在。
解释: 无。
运行示例:
1.查看帮助信息

C:\\Users\\XIAO\\Desktop\\study\\test2>ping /?用法: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS][-r count] [-s count] [[-j host-list] | [-k host-list]][-w timeout] [-R] [-S srcaddr] [-c compartment] [-p][-4] [-6] target_name选项:-t             Ping 指定的主机,直到停止。若要查看统计信息并继续操作,请键入 Ctrl+Break;若要停止,请键入 Ctrl+C。-a             将地址解析为主机名。-n count       要发送的回显请求数。-l size        发送缓冲区大小。-f             在数据包中设置“不分段”标记(仅适用于 IPv4)。-i TTL         生存时间。-v TOS         服务类型(仅适用于 IPv4。该设置已被弃用,对 IP 标头中的服务类型字段没有任何影响)。-r count       记录计数跃点的路由(仅适用于 IPv4)。-s count       计数跃点的时间戳(仅适用于 IPv4)。-j host-list   与主机列表一起使用的松散源路由(仅适用于 IPv4)。-k host-list    与主机列表一起使用的严格源路由(仅适用于 IPv4)。-w timeout     等待每次回复的超时时间(毫秒)。-R             同样使用路由标头测试反向路由(仅适用于 IPv6)。根据 RFC 5095,已弃用此路由标头。如果使用此标头,某些系统可能丢弃回显请求。-S srcaddr     要使用的源地址。-c compartment 路由隔离舱标识符。-p             Ping Hyper-V 网络虚拟化提供程序地址。-4             强制使用 IPv4。-6             强制使用 IPv6。C:\\Users\\XIAO\\Desktop\\study\\test2>

2.ping百度网站示例,不带-t选项,只ping4次


C:\\Users\\XIAO\\Desktop\\study\\test2>ping www.baidu.com正在 Ping www.a.shifen.com [36.152.44.96] 具有 32 字节的数据:
来自 36.152.44.96 的回复: 字节=32 时间=23ms TTL=56
来自 36.152.44.96 的回复: 字节=32 时间=23ms TTL=56
来自 36.152.44.96 的回复: 字节=32 时间=23ms TTL=56
来自 36.152.44.96 的回复: 字节=32 时间=23ms TTL=5636.152.44.96 的 Ping 统计信息:数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):最短 = 23ms,最长 = 23ms,平均 = 23msC:\\Users\\XIAO\\Desktop\\study\\test2>

25. telnet

功能: 远程登录工具。
解释: 无。
运行示例:
1.启用自带telnet服务
BAT脚本学习笔记
2.查看帮助信息

C:\\Users\\XIAO\\Desktop\\study\\test2>telnet /?telnet [-a][-e escape char][-f log file][-l user][-t term][host [port]]-a      企图自动登录。除了用当前已登陆的用户名以外,与 -l 选项相同。-e      跳过字符来进入 telnet 客户端提示。-f      客户端登录的文件名-l      指定远程系统上登录用的用户名。要求远程系统支持 TELNET ENVIRON 选项。-t      指定终端类型。支持的终端类型仅是: vt100, vt52, ansi 和 vtnt。host    指定要连接的远程计算机的主机名或 IP 地址。port    指定端口号或服务名。C:\\Users\\XIAO\\Desktop\\study\\test2>

26. tracert

功能: ip地址探测。
解释: 无。
运行示例:
1.查看帮助信息

C:\\Users\\XIAO\\Desktop\\study\\test2>tracert /?                                                                                                                                                                                                    用法: tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout][-R] [-S srcaddr] [-4] [-6] target_name                                                                                                                                                                                          选项:-d                 不将地址解析成主机名。-h maximum_hops    搜索目标的最大跃点数。-j host-list       与主机列表一起的松散源路由(仅适用于 IPv4)。-w timeout         等待每个回复的超时时间(以毫秒为单位)。-R                 跟踪往返行程路径(仅适用于 IPv6)。-S srcaddr         要使用的源地址(仅适用于 IPv6)。-4                 强制使用 IPv4。-6                 强制使用 IPv6。                                                                                                                                                                                                          C:\\Users\\XIAO\\Desktop\\study\\test2>

2.探测baidu.com

C:\\Users\\XIAO\\Desktop\\study\\test2>tracert www.baidu.com通过最多 30 个跃点跟踪
到 www.a.shifen.com [36.152.44.95] 的路由:                                                                                                                                                                                                        1    <1 毫秒   <1 毫秒   <1 毫秒 192.168.1.12     4 ms     3 ms     3 ms  10.148.16.13     *        *        *     请求超时。4     *        *        *     请求超时。5     *        *        *     请求超时。6    25 ms    24 ms    24 ms  221.183.59.547     *        *        *     请求超时。8    24 ms    24 ms    24 ms  182.61.216.729     *        *        *     请求超时。10    24 ms    24 ms    24 ms  36.152.44.95跟踪完成。C:\\Users\\XIAO\\Desktop\\study\\test2>

27. ipconfig

功能: 查看主机IP地址。
解释: 无。
运行示例:
1.查看当前帮助信息

C:\\Users\\XIAO\\Desktop\\study\\test2>ipconfig /?用法:ipconfig [/allcompartments] [/? | /all |/renew [adapter] | /release [adapter] |/renew6 [adapter] | /release6 [adapter] |/flushdns | /displaydns | /registerdns |/showclassid adapter |/setclassid adapter [classid] |/showclassid6 adapter |/setclassid6 adapter [classid] ]其中adapter             连接名称(允许使用通配符 * 和 ?,参见示例)选项:/?               显示此帮助消息/all             显示完整配置信息。/release         释放指定适配器的 IPv4 地址。/release6        释放指定适配器的 IPv6 地址。/renew           更新指定适配器的 IPv4 地址。/renew6          更新指定适配器的 IPv6 地址。/flushdns        清除 DNS 解析程序缓存。/registerdns     刷新所有 DHCP 租用并重新注册 DNS 名称/displaydns      显示 DNS 解析程序缓存的内容。/showclassid     显示适配器允许的所有 DHCP 类 ID。/setclassid      修改 DHCP 类 ID。/showclassid6    显示适配器允许的所有 IPv6 DHCP 类 ID。/setclassid6     修改 IPv6 DHCP 类 ID。默认情况下,仅显示绑定到 TCP/IP 的每个适配器的 IP 地址、子网掩码和
默认网关。对于 Release 和 Renew,如果未指定适配器名称,则会释放或更新所有绑定
到 TCP/IP 的适配器的 IP 地址租用。对于 Setclassid 和 Setclassid6,如果未指定 ClassId,则会删除 ClassId。示例:> ipconfig                       ... 显示信息> ipconfig /all                  ... 显示详细信息> ipconfig /renew                ... 更新所有适配器> ipconfig /renew EL*            ... 更新所有名称以 EL 开头的连接> ipconfig /release *Con*        ... 释放所有匹配的连接,例如“有线以太网连接 1”或“有线以太网连接 2> ipconfig /allcompartments      ... 显示有关所有隔离舱的信息> ipconfig /allcompartments /all ... 显示有关所有隔离舱的详细信息C:\\Users\\XIAO\\Desktop\\study\\test2>

28. arp

功能: 显示和修改地址解析协议(ARP)使用的“IP 到物理”地址转换表。
解释: 无。
运行示例:
1.查看帮助信息

C:\\Users\\XIAO\\Desktop\\study\\test2>arp /?显示和修改地址解析协议(ARP)使用的“IP 到物理”地址转换表。ARP -s inet_addr eth_addr [if_addr]
ARP -d inet_addr [if_addr]
ARP -a [inet_addr] [-N if_addr] [-v]-a            通过询问当前协议数据,显示当前 ARP 项。如果指定 inet_addr,则只显示指定计算机的 IP 地址和物理地址。如果不止一个网络接口使用 ARP,则显示每个 ARP 表的项。-g            与 -a 相同。-v            在详细模式下显示当前 ARP 项。所有无效项和环回接口上的项都将显示。inet_addr     指定 Internet 地址。-N if_addr    显示 if_addr 指定的网络接口的 ARP 项。-d            删除 inet_addr 指定的主机。inet_addr 可以是通配符 *,以删除所有主机。-s            添加主机并且将 Internet 地址 inet_addr与物理地址 eth_addr 相关联。物理地址是用连字符分隔的 6 个十六进制字节。该项是永久的。eth_addr      指定物理地址。if_addr       如果存在,此项指定地址转换表应修改的接口的 Internet 地址。如果不存在,则使用第一个适用的接口。
示例:> arp -s 157.55.85.212   00-aa-00-62-c6-09.... 添加静态项。> arp -a                                  .... 显示 ARP 表。C:\\Users\\XIAO\\Desktop\\study\\test2>

2.查看主机当前网卡上IP地址与物理地址的映射表

C:\\Users\\XIAO\\Desktop\\study\\test2>arp -a接口: 192.168.1.14 --- 0x8Internet 地址         物理地址              类型192.168.1.1           6c-46-22-58-a9-b4     动态192.168.1.255         ff-ff-ff-ff-ff-ff     静态224.0.0.22            01-00-5e-00-00-16     静态224.0.0.251           01-00-5e-00-00-fb     静态224.0.0.252           01-00-5e-00-00-fc     静态239.255.255.250       01-00-5e-7f-ff-fa     静态255.255.255.255       ff-ff-ff-ff-ff-ff     静态接口: 192.168.56.1 --- 0xeInternet 地址         物理地址              类型192.168.56.255        ff-ff-ff-ff-ff-ff     静态224.0.0.22            01-00-5e-00-00-16     静态224.0.0.251           01-00-5e-00-00-fb     静态224.0.0.252           01-00-5e-00-00-fc     静态239.255.255.250       01-00-5e-7f-ff-fa     静态C:\\Users\\XIAO\\Desktop\\study\\test2>

29. if-else

功能: 条件判断结构。
解释: 无。
运行示例:
1.判断字符串是否相等

C:\\Users\\XIAO\\Desktop\\study>type if-else.bat
@echo offset var=helloif %var% == hello ( echo yes ) else ( echo no )pause
C:\\Users\\XIAO\\Desktop\\study>

运行结果:

C:\\Users\\XIAO\\Desktop\\study>if-else.bat
yes
请按任意键继续. . .C:\\Users\\XIAO\\Desktop\\study>

2.判断文件是否存在:

C:\\Users\\XIAO\\Desktop\\study>type file_exist.bat
@echo off
rem 程序用来判断当前是否存在if-else.bat
if exist if-else.bat (echo ok
) else (echo no
)pauseC:\\Users\\XIAO\\Desktop\\study>

运行结果:

C:\\Users\\XIAO\\Desktop\\study>file_exist.bat
ok
请按任意键继续. . .C:\\Users\\XIAO\\Desktop\\study>

30. for

功能: 循环结构。
解释: 无。
运行示例:
1.遍历具体路径下的目录,for /d %%i in (路径*) do 具体操作

C:\\Users\\XIAO\\Desktop\\study>type for-dir.bat
@echo offrem for dirfor /d %%i in (.\\*) do (echo %%i
)pause
C:\\Users\\XIAO\\Desktop\\study>

运行结果

C:\\Users\\XIAO\\Desktop\\study>for-dir.bat
.\\test1
.\\test2
.\\test3
请按任意键继续. . .C:\\Users\\XIAO\\Desktop\\study>

2.遍历具体路径下的目录和子目录下的文件,for /r 目录路径 %%i in (匹配规则,例如*.py ) do 具体操作

C:\\Users\\XIAO\\Desktop\\study>type for-r.bat
@echo offfor /r ".\\" %%i in (*.py) do (echo %%i
)pauseC:\\Users\\XIAO\\Desktop\\study>

运行结果:

C:\\Users\\XIAO\\Desktop\\study>for-r.bat
C:\\Users\\XIAO\\Desktop\\study\\test1\\1.py
C:\\Users\\XIAO\\Desktop\\study\\test2\\2.py
C:\\Users\\XIAO\\Desktop\\study\\test3\\3.py
C:\\Users\\XIAO\\Desktop\\study\\test3\\tt\\4.py
请按任意键继续. . .C:\\Users\\XIAO\\Desktop\\study>

3.遍历数字,for /L %%i in (start, step, end) do 具体操作

C:\\Users\\XIAO\\Desktop\\study>type for-sum.bat
@echo offfor /L %%i in (1, 1, 20) do (echo %%i
)pauseC:\\Users\\XIAO\\Desktop\\study>

运行结果:

C:\\Users\\XIAO\\Desktop\\study>for-sum.bat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
请按任意键继续. . .C:\\Users\\XIAO\\Desktop\\study>

4.遍历文件内容,for /f %%i in (文件名) do 具体操作

C:\\Users\\XIAO\\Desktop\\study>type for-file.bat
@echo offfor /f %%i in (for-sum.bat) do (echo %%i
)pauseC:\\Users\\XIAO\\Desktop\\study>

运行结果:

C:\\Users\\XIAO\\Desktop\\study>for-file.bat
@echo
for
echo
)
pause
请按任意键继续. . .C:\\Users\\XIAO\\Desktop\\study>

5.使用tokens,delims遍历文件内容,tokens=1,2,3中的通配符表示更多,但最多不超过52。

for /f "tokens=1,2,3* delims=," %%i in (%LOG_FILE%) do (echo %%l
)

运行结果:

C:\\Users\\XIAO\\Desktop\\study\\project>type monitor_memory.log
"映像名称","PID","会话名      ","会话#   ","内存使用 "
"Memory Compression","2956","Services","0","377,248 K"
"MsMpEng.exe","4364","Services","0","206,816 K"
"msedge.exe","17736","Console","1","161,228 K"
"msedge.exe","1996","Console","1","122,960 K"
"msedge.exe","140","Console","1","223,152 K"
"msedge.exe","16836","Console","1","117,252 K"
信息: 没有运行的任务匹配指定标准。C:\\Users\\XIAO\\Desktop\\study\\project>
C:\\Users\\XIAO\\Desktop\\study\\project>monitor_memory.bat
"会话#   ","内存使用 "
"0","377,268 K"
"0","206,356 K"
"1","160,536 K"
"1","122,932 K"
"1","227,288 K"
"1","117,348 K"

31. more

功能: 查看文件内容。
解释: 无。
运行示例:
1.查看帮助信息

C:\\Users\\XIAO\\Desktop\\study>more /?
逐屏显示输出。MORE [/E [/C] [/P] [/S] [/Tn] [+n]] < [drive:][path]filename
command-name | MORE [/E [/C] [/P] [/S] [/Tn] [+n]]
MORE /E [/C] [/P] [/S] [/Tn] [+n] [files][drive:][path]filename 指定要逐屏显示
的文件。command-name 指定要显示其
输出的命令。/E 启用扩展功能/C 显示页面前先清除屏幕
/P 扩展 FormFeed 字符
/S 将多个空白行缩成一行
/Tn 将制表符扩展为 n 个空格(默认值为 8)开关可以出现在 MORE 环境变量中。+n 从第 n 行开始显示第一个文件要显示的文件列表。使用空格分隔
列表中的文件。如果已启用扩展功能,则在出现 More 提示时
接受下列命令:P n 显示下 n 行
S n 跳过下 n 行
F 显示下个文件
Q 退出= 显示行号
? 显示帮助行
<space>显示下一页
<ret>显示下一行C:\\Users\\XIAO\\Desktop\\study>

2.从指定行显示

C:\\Users\\XIAO\\Desktop\\study>more +4 for-dir.bat
for /d %%i in (.\\*) do (echo %%i
)pauseC:\\Users\\XIAO\\Desktop\\study>

32. set

功能: 显示、设置或删除 cmd.exe 环境变量。
解释: 无。
运行示例:
1.接收命令行输入

@echo off:FIRST
echo Enter your options:
echo 	1. ONE
echo 	2. exit
set /p opt=
if %opt% == 1 (goto ONE)
if %opt% == 2 (goto EXIT)
goto FIRST:ONE
echo you input options is: ONE
echo Bye,Bye~:EXIT
pause

运行结果:

C:\\Users\\XIAO\\Desktop\\study>input.bat
Enter your options:1. ONE2. exit
3
Enter your options:1. ONE2. exit
4
Enter your options:1. ONE2. exit
5
Enter your options:1. ONE2. exit
6
Enter your options:1. ONE2. exit
7
Enter your options:1. ONE2. exit
2
请按任意键继续. . .C:\\Users\\XIAO\\Desktop\\study>

33. sc

功能: SC 是用来与服务控制管理器和服务进行通信的命令行程序。
解释: 无。
运行示例:
1.停止服务并禁止启动,打开服务并允许启动

@echo offif %1 == disable (
sc query sysMain
sc config sysMain start=disabled
sc stop sysMain
sc query sysMain
)
if %1 == enable (
sc query sysMain
sc config sysMain start=auto
sc start sysMain
sc query sysMain
) pause

运行结果:

C:\\Users\\XIAO\\Desktop\\study\\project>sysMain.bat disableSERVICE_NAME: sysMainTYPE               : 30  WIN32STATE              : 4  RUNNING(STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN)WIN32_EXIT_CODE    : 0  (0x0)SERVICE_EXIT_CODE  : 0  (0x0)CHECKPOINT         : 0x0WAIT_HINT          : 0x0
[SC] ChangeServiceConfig 成功SERVICE_NAME: sysMainTYPE               : 30  WIN32STATE              : 4  RUNNING(STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN)WIN32_EXIT_CODE    : 0  (0x0)SERVICE_EXIT_CODE  : 0  (0x0)CHECKPOINT         : 0x0WAIT_HINT          : 0x0
请按任意键继续. . .C:\\Users\\XIAO\\Desktop\\study\\project>sysMain.bat enableSERVICE_NAME: sysMainTYPE               : 30  WIN32STATE              : 4  RUNNING(STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN)WIN32_EXIT_CODE    : 0  (0x0)SERVICE_EXIT_CODE  : 0  (0x0)CHECKPOINT         : 0x0WAIT_HINT          : 0x0
[SC] ChangeServiceConfig 成功SERVICE_NAME: sysMainTYPE               : 30  WIN32STATE              : 4  RUNNING(STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN)WIN32_EXIT_CODE    : 0  (0x0)SERVICE_EXIT_CODE  : 0  (0x0)CHECKPOINT         : 0x0WAIT_HINT          : 0x0
请按任意键继续. . .C:\\Users\\XIAO\\Desktop\\study\\project>

33. ERRORLEVEL

功能: 用来表示上一次命令的执行状态。
解释: 无。
运行示例:
1.检查是否存在指定的服务

@echo offset serviceName=%1
set serviceopt=%2rem check_services
sc query | find /i "%serviceName%" > nul 2> nul
if not ERRORLEVEL 1 (echo %serviceName% service is exist!
) else (echo %serviceName% service is not exist!goto EXIT
):EXIT
pause

运行结果:

C:\\Users\\XIAO\\Desktop\\study\\project>service_api.bat sysMain
sysMain service is exist!
请按任意键继续. . .C:\\Users\\XIAO\\Desktop\\study\\project>service_api.bat sysMaindd
sysMaindd service is not exist!
请按任意键继续. . .C:\\Users\\XIAO\\Desktop\\study\\project>

5.批处理常用技巧

功能: 无。
解释: 包括批处理原生定义技巧和自定义技巧。

1.字符串处理

功能: 包括字符串截取、查找、替换、合并。
解释: 无。
运行示例:
1.1.字符串截取,(从第1个开始)提取前5个字符。

C:\\Users\\XIAO\\Desktop\\study\\dosshell>type string001.bat
@echo offset testStr=abcdefghijklmnopqrstuvwxyz0123456789
echo 提取前五个字符串%testStr:~0,5%pause
C:\\Users\\XIAO\\Desktop\\study\\dosshell>string001.bat
提取前五个字符串abcde
请按任意键继续. . .C:\\Users\\XIAO\\Desktop\\study\\dosshell>

1.2.字符串截取,提取最后5个字符。

C:\\Users\\XIAO\\Desktop\\study\\dosshell>type string002.bat
@echo offset testStr=abcdefghijklmnopqrstuvwxyz0123456789
echo 提取最后五个字符串:%testStr:~-5%pause
C:\\Users\\XIAO\\Desktop\\study\\dosshell>string002.bat
提取最后五个字符串:56789
请按任意键继续. . .C:\\Users\\XIAO\\Desktop\\study\\dosshell>

1.3.字符串截取,提取第一个到最后第6个的字符。

C:\\Users\\XIAO\\Desktop\\study\\dosshell>type string003.bat
@echo offset testStr=abcdefghijklmnopqrstuvwxyz0123456789
echo 提取第一个到倒数第六个字符串:%testStr:~0,-5%pause
C:\\Users\\XIAO\\Desktop\\study\\dosshell>string003.bat
提取第一个到倒数第六个字符串:abcdefghijklmnopqrstuvwxyz01234
请按任意键继续. . .C:\\Users\\XIAO\\Desktop\\study\\dosshell>

2.字符串替换

C:\\Users\\XIAO\\Desktop\\study\\dosshell>type string004.bat
@echo offset testStr=abcdefghijklmnopqrstuvwxyz0123456789
echo 替换后:%testStr:abcdef=123456%pause
C:\\Users\\XIAO\\Desktop\\study\\dosshell>string004.bat
替换后:123456ghijklmnopqrstuvwxyz0123456789
请按任意键继续. . .C:\\Users\\XIAO\\Desktop\\study\\dosshell>

2. cmd支持长路径

功能: 使cmd的支持长路径的方法:修改注册表,\\HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\FileSystem:LongPathsEnabled=1
解释: 无。
运行示例:

C:\\Users\\XIAO\\Desktop\\study>reg add "HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\FileSystem" /v LongPathsEnabled /t REG_DWORD /d 1 /f
操作成功完成。C:\\Users\\XIAO\\Desktop\\study>

3. cmd支持UNC路径

功能: 使cmd的支持UNC路径的方法:修改注册表,\\HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\FileSystem:LongPathsEnabled=1
解释: 无。
运行示例:

C:\\Users\\XIAO\\Desktop\\study>reg add "HKEY_CURRENT_USER\\Software\\Microsoft\\Command Processor" /v DisableUNCCheck /t REG_DWORD /d 0 /f
操作成功完成。C:\\Users\\XIAO\\Desktop\\study>reg add "HKEY_CURRENT_USER\\Software\\Microsoft\\Command Processor" /v DisableUNCCheck /t REG_DWORD /d 1 /f
操作成功完成。C:\\Users\\XIAO\\Desktop\\study>

4. cmd设置延时赋值

功能: 使能延时赋值是批处理为了能够感知环境变量的动态变化的机制。
解释: 批处理读取命令时是按行读取的,()中的内容属于1行。
运行示例:

未启用延时赋值
C:\\Users\\XIAO>set a=4C:\\Users\\XIAO>set a=5&echo %a%
4C:\\Users\\XIAO>
启用延时赋值
C:\\Users\\XIAO\\Desktop\\study\\dosshell>type enabledelayedexpansion.bat
@echo off
setlocal enabledelayedexpansion
echo a=4
echo a=5&echo !a!pause
C:\\Users\\XIAO\\Desktop\\study\\dosshell>enabledelayedexpansion.bat
a=4
a=5
5
请按任意键继续. . .C:\\Users\\XIAO\\Desktop\\study\\dosshell>

项目实践

1.查看系统信息

源码:

@echo off
set work_dir=%~dp0
rem 创建资源
if exist tmp_waste (echo 资源被占用exit 114
) else (mkdir tmp_waste
)cd tmp_wasterem 生成日志
echo . > log.txt
echo Log File >> log.txt
echo . >> log.txtecho User: %username% >> log.txt
Date /t >> log.txt
Time /t >> log.txt
echo . >> log.txtecho Process Ran by %username% >> log.txt
echo . >> log.txttasklist >> log.txt
echo . >> log.txtecho Network Activities >> log.txt
netstat -s >> log.txtrem 留白
echo . >> log.txt
echo . >> log.txt
echo . >> log.txt
echo . >> log.txt
echo . >> log.txt
echo . >> log.txt
echo . >> log.txt
echo . >> log.txt
echo . >> log.txt
echo . >> log.txt
echo . >> log.txt
echo . >> log.txtcd %work_dir%
exit /b

运行结果:
BAT脚本学习笔记
BAT脚本学习笔记

2. 电脑卡顿优化脚本

脚本1

C:\\Users\\XIAO\\Desktop\\study\\project>type clear_tools.bat
@echo offset CPU_LOG_FILE=cpu.log
set DISK_LOG_FILE=disk.log
set MEM_LOG_FILE=mem.log
set local_path=%~dp0
set tmp_waste=%local_path%\\tmp_waste
set PATH=%PATH%;%local_path%if exist %tmp_waste% (echo 日志工作目录已存在,正在删除上次目录...for /r %tmp_waste% %%i in (*) do (del /S /Q %%i)
) else (echo 创建日志工作目录...mkdir %tmp_waste%
)rem 清除CPU
call service_api sysMain disable > %tmp_waste%\\%CPU_LOG_FILE%rem 清除磁盘
call mrt_check > %tmp_waste%\\%DISK_LOG_FILE%
call cache_clean >> %tmp_waste%\\%DISK_LOG_FILE%rem 清除内存
call monitor_memory > %tmp_waste%\\%MEM_LOG_FILE%start index.html
pause
C:\\Users\\XIAO\\Desktop\\study\\project>

脚本2

C:\\Users\\XIAO\\Desktop\\study\\project>type service_api.bat
@echo offset serviceName=%1
set serviceopt=%2sc query | find /i "%serviceName%" > nul 2> nul
if not ERRORLEVEL 1 (echo %serviceName% serviceif %2 == disable (goto SVC_DISABLE) else (goto OPT_INVALID)
) else (echo %serviceName% service is not exist!rem if service installsc query %serviceName% | find /i "%serviceName%" > nul 2> nulif not ERRORLEVEL 1 (if %2 == enable (goto SVC_ENABLE) else (goto OPT_INVALID)) else (echo %serviceName% is not installed!goto EXIT)
):SVC_DISABLE
sc query %serviceName%
sc config %serviceName% start=disabled
sc stop %serviceName%
timeout /T 3 /NOBREAK
sc query %serviceName%
goto EXIT:SVC_ENABLE
sc query %serviceName%
sc config %serviceName% start=auto
sc start %serviceName%
timeout /T 3 /NOBREAK
sc query %serviceName%:OPT_INVALID
echo invalid opts: %2
:EXIT
echo SERVICE_API.BAT service_name [disable]enable]
C:\\Users\\XIAO\\Desktop\\study\\project>

脚本3

C:\\Users\\XIAO\\Desktop\\study\\project>type mrt_check.bat
@echo off
tasklist /FI "IMAGENAME eq mrt.exe" | find /i "mrt.exe" > nul 2> nul
IF NOT ERRORLEVEL 1 (echo 正在清理捆绑软件...goto RETRY
) else (echo 开始检测和清理捆绑软件...mrt /Q /F:Y
):RETRY
tasklist /FI "IMAGENAME eq mrt.exe" | find /i "mrt.exe" > nul 2> nul
IF NOT ERRORLEVEL 1 (timeout /T 300 /NOBREAKgoto RETRY
) else (echo 捆绑软件已经清理完成!
)
C:\\Users\\XIAO\\Desktop\\study\\project>

脚本4

C:\\Users\\XIAO\\Desktop\\study\\project>type mrt_check.bat
@echo off
tasklist /FI "IMAGENAME eq mrt.exe" | find /i "mrt.exe" > nul 2> nul
IF NOT ERRORLEVEL 1 (echo 正在清理捆绑软件...goto RETRY
) else (echo 开始检测和清理捆绑软件...mrt /Q /F:Y
):RETRY
tasklist /FI "IMAGENAME eq mrt.exe" | find /i "mrt.exe" > nul 2> nul
IF NOT ERRORLEVEL 1 (timeout /T 300 /NOBREAKgoto RETRY
) else (echo 捆绑软件已经清理完成!
)
C:\\Users\\XIAO\\Desktop\\study\\project>type cache_clean.bat
@echo offset cache=%TEMP%echo start clean dirty files...
for /r %cache% %%i in (*) do (del /S /Q %%i
)echo start clean directory...
for /d %%i in (%cache%\\*) do (rmdir /S /Q %%i
)C:\\Users\\XIAO\\Desktop\\study\\project>

脚本5

C:\\Users\\XIAO\\Desktop\\study\\project>type monitor_memory.bat
@echo offrem 获取内存大小
for /f %%i in ('wmic os get TotalVisibleMemorySize /value^|find "="') do set %%i
if %TotalVisibleMemorySize% GEQ 32000000 (rem 100000等于100Mset clean_level1=100000set clean_level2=700000
) else (if %TotalVisibleMemorySize% GEQ 16000000 (rem 100000等于100Mset clean_level1=100000set clean_level2=500000) else (if %TotalVisibleMemorySize% GEQ 8000000 (rem 100000等于100Mset clean_level1=100000set clean_level2=300000) else (if %TotalVisibleMemorySize% GEQ 4000000 (rem 100000等于100Mset clean_level1=100000set clean_level2=100000)))
)
echo current level:%clean_level1% %clean_level2%rem 记录状态是UNKNOWN并且占用内存大于100M的程序
echo Record: %clean_level1%
TASKLIST /FI "STATUS eq UNKNOWN" /FI "MEMUSAGE gt %clean_level1%" /FO csv
rem 记录状态是非UNKNOWN并且占用内存大于500M的程序
echo Record: %clean_level2%
TASKLIST /FI "STATUS ne UNKNOWN" /FI "MEMUSAGE gt %clean_level2%" /FO csvrem 使用taskkill清除选中的程序
TASKKILL /F /FI "STATUS eq UNKNOWN" /FI "MEMUSAGE gt %clean_level1%" /FI "IMAGENAME ne explorer.exe"
TASKKILL /F /FI "STATUS ne UNKNOWN" /FI "MEMUSAGE gt %clean_level2%" /FI "IMAGENAME ne explorer.exe"
echo 清理完成
echo Check: %clean_level1%
TASKLIST /FI "STATUS eq UNKNOWN" /FI "MEMUSAGE gt %clean_level1%" /FO csv
echo Check: %clean_level1%
TASKLIST /FI "STATUS ne UNKNOWN" /FI "MEMUSAGE gt %clean_level2%" /FO csvC:\\Users\\XIAO\\Desktop\\study\\project>

脚本6

C:\\Users\\XIAO\\Desktop\\study\\project>type index.html
<html>
<head> <tile> Log File - Lo36r </tile> </head>
<body>
<br>
<center><h1><u> Log File </u></h1>
<i>This log file is created by <b>Lo36r</b> for monitoring System Activities!</i>
</center>
<br>
<center>
<ul>
<a href="tmp_waste\\cpu.log"> Click here to view the CPU Log File</a>
<br>
<a href="tmp_waste\\disk.log"> Click here to view the DISK Log File</a>
<br>
<a href="tmp_waste\\mem.log"> Click here to view the MEM File</a>
</ul>
</center>
</body>
</html>
C:\\Users\\XIAO\\Desktop\\study\\project>

运行结果:
BAT脚本学习笔记