赞
踩
批处理(Batch),也称为批处理脚本
help 命令:查询指定命令的帮助信息
PS D:\cmdtest> help type 名称 Get-Content 语法 Get-Content [-Path] <string[]> [<CommonParameters>] Get-Content [<CommonParameters>] 别名 gc cat type 备注 Get-Help 在此计算机上找不到该 cmdlet 的帮助文件。它仅显示部分帮助。 -- 若要下载并安装包含此 cmdlet 的模块的帮助文件,请使用 Update-Help。 -- 若要联机查看此 cmdlet 的帮助主题,请键入: "Get-Help Get-Content -Online" 或 -- More --
查看完毕后按q键退出
1.echo 显示信息(显示指定内容)
如:
echo Everything will be ok1
echo Everything will be ok2
保存内容后执行:
PS D:\cmdtest> .\test.bat
D:\cmdtest>echo Everything will be ok1
Everything will be ok1
D:\cmdtest>echo Everything will be ok2
Everything will be ok2
在终端执行文件还会显示我们的命令(如果是双击执行则不会有命令的显示),可以加@关闭命令的回显,执行时不去显示命令:
@echo Everything will be ok1
@echo Everything will be ok2
执行就不会显示命令:
PS D:\cmdtest> .\test.bat
Everything will be ok1
Everything will be ok2
2.echo on|off(控制回显)
可以通过echo on打开回显或echo off或关闭回显功能,并且也不想显示这个命令的时候可以把@符号加在这行命令前面,如:
@echo off
echo Everything will be ok1
echo Everything will be ok2
运行结果同上:
PS D:\cmdtest> .\test.bat
Everything will be ok1
Everything will be ok2
echo off可以使将这行命令以下的所有命令执行时都不显示命令本身。
3.echo.(输出空行)
相当于回车。echo和.中间没有空格,否则会被当做要显示的信息输出到屏幕。
除了.以外,还可以用, : ; " / ] + \任意符号替代
加输出空行:
@echo off
echo Everything will be ok1
echo.
echo Everything will be ok2
执行输出:
PS D:\cmdtest> .\test.bat
Everything will be ok1
Everything will be ok2
用来给程序加上注解,该命令后的内容不被执行,并且会回显。
如:
echo 1
rem comment
echo 2
执行显示:
PS D:\cmdtest> .\test.bat
D:\cmdtest>echo 1
1
D:\cmdtest>rem comment
D:\cmdtest>echo 2
2
:: 也可以起到 rem 的注释作用, 而且更简洁,如:
echo 1
:: comment
echo 2
执行结果:
PS D:\cmdtest> .\test.bat
D:\cmdtest>echo 1
1
D:\cmdtest>echo 2
2
::的注意事项:
任何以:开头的字符行在批处理中都被视作标号,会直接忽略后面的所有内容。不过其中:如果冒号,后面紧跟一个以字母数字开头的字符串,goto语句可以识别,此时为有效冒号;如果冒号后面紧跟一个非字母数字的一个特殊符号,goto语句无法识别,就可以起到注释的作用,如:+也可以起到注释效果。所以::常被用作注释符号
::后面的字符行在执行时不会回显,无论是否用命令打开回显状态。因为命令解释器不认为它是有效的命令行,不会进行回显。
1.cd 路径:跳到指定路径
可以写相对路径,也可以写绝对路径。.是当前目录,两个.是上一层目录,\表示根目录。如:
PS D:\cmdtest> cd..
PS D:\> cd /cmdtest
PS D:\cmdtest> cd /
PS D:\>
2.盘符::跳到指定分区
如:
PS D:\> C:
PS C:\>
** 3.%cd%**:显示当前的完整路径
如:
@echo off
echo current path: %cd%
执行显示:
PS D:\cmdtest> .\test.bat
current path: D:\cmdtest
dir [选项] 目录:显示的目录及文件
常用选项:
选项 | 效果 |
---|---|
/p | 分页显示路径下的目录及文件,避免当列表中的目录及文件过多时就无法完全显示的问题,一页显示完毕后按任意键显示下一页 |
/b | 显示信息时只列出文件名称 |
/a或/a: | 列出C:\下所有的文件 |
/ah | 列出隐含的文件(包含文件和文件夹) |
/ad | 列出C:\下所有的文件夹 |
/ad-h | 列出C:\下所有的文件夹,但不包含隐含的文件夹。 |
/on或/o:n | "o"表示指定显示命令结果时的排序方式,"n"表示按照文件名的字母顺序排列 |
/ogn | 在/on命令基础上优先列出文件夹 |
如上/o:和/a:命令后面的冒号都可以省略,即/o和/a
如:
dir /ogn c:\
执行演示:
PS D:\cmdtest> .\test.bat D:\cmdtest>dir /ogn c:\ 驱动器 C 中的卷是 Windows 卷的序列号是 A4C0-3E0F c:\ 的目录 2023/10/19 23:53 <DIR> Intel 2022/05/07 13:24 <DIR> PerfLogs 2023/05/16 09:32 <DIR> Program Files 2023/09/10 16:21 <DIR> Program Files (x86) 2023/09/09 22:16 <DIR> Users 2023/10/15 04:31 <DIR> Windows 0 个文件 0 字节 6 个目录 82,616,029,184 可用字节
attrib [+或-选项1] 目录或文件 [选项2]:设置指定文件属性
**+**操作表示附加属性
**-**操作表示消除属性
常用选项1:
选项 | 效果 |
---|---|
- | 清除属性 |
R | 只读文件属性 |
A | 存档文件属性 |
/S | 系统文件属性 |
H | 隐藏文件属性 |
不加选项 | 显示文件属性 |
常用选项2:
选项 | 效果 |
---|---|
/S | 操作当前文件夹及其子文件夹中的匹配文件 |
/D | 操作文件夹 |
执行演示:
PS D:\cmdtest> attrib +h d:\cmdtest\test1.bat
PS D:\cmdtest> attrib d:\cmdtest\test1.bat
A H D:\cmdtest\test1.bat
attrib +h d:\cmdtest /s /d和attrib +h d:\cmdtest*.* /s /d的区别:
attrib +h d:\cmdtest /s /d命令将d:\cmdtest文件夹以及它同名的子目录设为了隐藏属性,而其它文件及子目录都没有设置隐藏属性
attrib +h d:\cmdtest*.* /s /d命令只将d:\cmdtest路径下文件及与它同名的子目录设为了隐藏属性,d:\cmdtest目录没有设置隐藏属性
del [选项] 目录或文件:删除文件或目录,可指定一个或多个
选项 | 效果 |
---|---|
/p | 删除每一个文件之前提示确认 |
/f | 强制删除只读文件 |
/s | 从所有子目录删除指定文件 |
/q | 安静模式。删除全局通配符时,不要求确认 |
/ar或/a:r | 删除只读文件 |
/as或/a:s | 删除系统文件 |
/ah或/a:h | 删除隐藏文件 |
/aa或/a:a | 删除存档文件 |
D:\cmdtest>del /s d:\cmdtest\demo\*.*
d:\cmdtest\demo\*.*, 是否确认(Y/N)? Y
删除文件 - d:\cmdtest\demo\a.txt
1.copy 源文件 目标路径:将源文件内容复制至目标路径下,不支持复制文件夹,源文件位置写文件夹的意思是将文件夹下的全部内容拷贝到目标路径
PS D:\cmdtest> copy .\test.bat .\demo
PS D:\cmdtest> dir .\demo
目录: D:\cmdtest\demo
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2023/10/21 17:28 0 a.txt
-a---- 2023/10/21 17:19 28 test.bat
2.copy /b 文件1+文件2+……文件N 合并后的文件名:将文件1到N合并到一个文件内,如果没有指定合成后的文件名,默认情况下将合并的内容放给第一个文件名,并且都是做覆盖内容操作
test.bat文件内:
copy /b d:\cmdtest\p.txt+d:\cmdtest\p1.txt d:\cmdtest\p2.txt
执行结果:
PS D:\cmdtest> .\test.bat
D:\cmdtest>copy /b d:\cmdtest\p.txt+d:\cmdtest\p1.txt d:\cmdtest\p2.txt
d:\cmdtest\p.txt
d:\cmdtest\p1.txt
已复制 1 个文件。
执行的结果是将想要合并的文件序列内容按给出的顺序,放近合并后的文件(原文件内容被覆盖)里
注意:
md 目录:用于创建文件夹
可以指定文件夹所在路径,目录中如果有不存在的文件夹,会直接新建缺失的文件夹,创建多级目录,以保证创建成功。也可以只给目录名,如果路径缺省,就在当前目录下创建新文件夹。
如果文件夹的名称及其路径带有空格或特殊符号的,要用双引号括起来。如在D盘下创建my test文件夹:
md "d:\my test"
执行显示:
PS D:\cmdtest> .\test.bat
D:\cmdtest>md "d:\my test"
如果不用双引号括起来的话,就会创建my和test两个文件夹
也可以同时创建多个目录,以空格分隔即可。如当前目录下建立dir1和dir2两个文件,同时d:\my test下也建立一个文件夹dir3:
md dir1 "d:\my test\dir3" dir2
执行显示:
PS D:\cmdtest> .\test.bat
D:\cmdtest>md dir1 "d:\my test\dir3" dir2
rd或rmdir [选项] 目录:创建文件夹,用rd或rmdir效果相同
选项 | 效果 |
---|---|
/S | 删除目录树。除目录本身外,还将删除指定目录下的所有子目录和文件 |
/Q | 安静模式,做删除时不进行询问确认 |
不加选项 | 只能删除空的文件夹 |
如删除d:\cmdtest\dir1:
rd /s /q d:\cmdtest\dir1
执行显示:
PS D:\cmdtest> .\test.bat
D:\cmdtest>rd /s /q d:\cmdtest\dir1
ren或rename [选项] 文件或目录1 文件或目录2:重命名文件或目录,用ren或rename效果相同
文件或目录1路径可以省略,缺省情况下为当前目录。文件或目录2只能是文件名,不能使用任何路径
PS D:\cmdtest> ren p1.txt pbat.bat
即可将当前文件夹下名为 p1.txt的文件批量更改为名为pbat.bat的文件。
也可以借助通配符进行批量重命名。如可以通过*个通配符来批量重命名。*表示任意多个字符。例ren *.txt *.bat,可以将当前文件夹下后缀名为txt的文件批量更改为后缀bat的文件。
move [选项] 文件或目录1 文件或目录2:移动文件或目录。
文件或目录2位置的位置如果指定路径,则会移动到该路径下,如果加上了文件或目录名,就会对原来的名字进行重命名
选项 | 效果 |
---|---|
/Y | 取消确认改写一个现有目标文件的提示 |
/-Y | 对确认改写一个现有目标文件发出提示 |
不加选项 | 只能删除空的文件夹 |
移动文件,如将p2.txt文件移动到d:\cmdtest\demo下:
move p2.txt d:\cmdtest\demo
执行:
PS D:\cmdtest> .\test.bat
D:\cmdtest>move p2.txt d:\cmdtest\demo
移动了 1 个文件。
将文件移动至另一个文件,如:
move d:\cmdtest\x.txt d:\cmdtest\demo1\a.txt
如果d:\cmdtest\demo1路径下a.txt文件不存在的话,就将x.txt文件移到目录d:\cmdtest\demo1下并重命名为a.txt,如果文件存在的话,会询问确认是否要进行改写,如果确认进行改写就直接覆盖内容。
移动目录,如:
move d:\cmdtest\demo d:\cmdtest\demo1
但是我们的demo1目录并不存在,所以会将移到d:\cmdtest下面,然后将自身名称更改为demo1。所以move命令也可以实现重命名功能
PS D:\cmdtest> .\test.bat
D:\cmdtest>move d:\cmdtest\demo d:\cmdtest\demo1
移动了 1 个目录。
注意:
find [选项] 字符串 文件名:在指定文件中搜索字符串
可选选项:
选项 | 效果 |
---|---|
/V | 显示所有未包含指定字符串的行 |
/C | 显示包含指定字符串的行数 |
/N | 显示包含指定字符串的行号 |
/OFF[LINE] | 不要跳过具有脱机属性集的文件 |
如: |
find /V "abc" d:\cmdtest\x.txt
PS D:\cmdtest> .\test.bat
D:\cmdtest>find /V "abc" d:\cmdtest\x.txt
---------- D:\CMDTEST\X.TXT
mdmdmdmd
findstr [选项] 字符串 文件名:在指定文件中搜索字符串
可选选项:
选项 | 效果 |
---|---|
/B | 在一行的开始配对模式 |
/E | 在一行的结尾配对模式 |
/L | 按字使用搜索字符串 |
/R | 将搜索字符串作为一般表达式使用 |
/S | 在当前目录和所有子目录中搜索匹配文件 |
/I | 指定搜索不分大小写 |
/X | 打印完全匹配的行 |
/V | 只打印不包含匹配的行 |
/N | 在匹配的每行前打印行数 |
/M | 如果文件含有匹配项,只打印其文件名 |
/O | 在每个匹配行前打印字符偏移量 |
/P | 忽略有不可打印字符的文件 |
/OFF[LINE] | 不要跳过具有脱机属性集的文件 |
/A:attr | 指定有十六进位数字的颜色属性。请见 “color /?” |
/F:file | 从指定文件读文件列表 (/ 代表控制台) |
/C:string | 使用指定字符串作为文字搜索字符串 |
/G:file | 从指定的文件获得搜索字符串。 (/ 代表控制台) |
/D:dir | 查找以分号为分隔符的目录列表 |
加了 /C 前缀就可以不使用空格隔开搜索字符串。
如:
FINDSTR "abc" d:\cmdtest\x.txt
等同于:
FINDSTR /C "abc" d:\cmdtest\x.txt
PS D:\cmdtest> .\test.bat
D:\cmdtest>FINDSTR/C "abc" d:\cmdtest\x.txt
FINDSTR: 忽略 /C
abcabcaaaaaaa
mabc
批处理中经常对计算机的TCP/IP 配置信息的截取
PS D:\cmdtest> ipconfig Windows IP 配置 以太网适配器 以太网: 媒体状态 . . . . . . . . . . . . : 媒体已断开连接 连接特定的 DNS 后缀 . . . . . . . : 无线局域网适配器 本地连接* 3: 媒体状态 . . . . . . . . . . . . : 媒体已断开连接 连接特定的 DNS 后缀 . . . . . . . : 无线局域网适配器 本地连接* 12: 媒体状态 . . . . . . . . . . . . : 媒体已断开连接 连接特定的 DNS 后缀 . . . . . . . : 以太网适配器 VMware Network Adapter VMnet1: 连接特定的 DNS 后缀 . . . . . . . : 本地链接 IPv6 地址. . . . . . . . : fe80::27d9:d5d6:bc97:444a%17 IPv4 地址 . . . . . . . . . . . . : 192.168.58.1 子网掩码 . . . . . . . . . . . . : 255.255.255.0 默认网关. . . . . . . . . . . . . : 以太网适配器 VMware Network Adapter VMnet8: 连接特定的 DNS 后缀 . . . . . . . : 本地链接 IPv6 地址. . . . . . . . : fe80::cc45:5952:7f2c:ecbf%3 IPv4 地址 . . . . . . . . . . . . : 192.168.162.1 子网掩码 . . . . . . . . . . . . : 255.255.255.0 默认网关. . . . . . . . . . . . . : 无线局域网适配器 WLAN: 连接特定的 DNS 后缀 . . . . . . . : IPv6 地址 . . . . . . . . . . . . : 2409:8a62:3ed:9bf0:e18:f668:77bf:f1e8 临时 IPv6 地址. . . . . . . . . . : 2409:8a62:3ed:9bf0:a543:6bce:1279:6c72 本地链接 IPv6 地址. . . . . . . . : fe80::2efd:f830:fc6:7dd9%22 IPv4 地址 . . . . . . . . . . . . : 192.168.1.7 子网掩码 . . . . . . . . . . . . : 255.255.255.0 默认网关. . . . . . . . . . . . . : fe80::1%22 192.168.1.1 以太网适配器 蓝牙网络连接: 媒体状态 . . . . . . . . . . . . : 媒体已断开连接 连接特定的 DNS 后缀 . . . . . . . :
/all参数将显示所有适配器的完整 TCP/IP 配置信息,如果计算机有多个网卡,加 /all参数就会它们的信息一一列出来。
PS D:\cmdtest> ipconfig /all Windows IP 配置 主机名 . . . . . . . . . . . . . : DESKTOP-GF5IIM4 主 DNS 后缀 . . . . . . . . . . . : 节点类型 . . . . . . . . . . . . : 混合 IP 路由已启用 . . . . . . . . . . : 否 WINS 代理已启用 . . . . . . . . . : 否 以太网适配器 以太网: 媒体状态 . . . . . . . . . . . . : 媒体已断开连接 连接特定的 DNS 后缀 . . . . . . . : 描述. . . . . . . . . . . . . . . : Realtek PCIe GbE Family Controller 物理地址. . . . . . . . . . . . . : 84-A9-38-3F-87-3E DHCP 已启用 . . . . . . . . . . . : 是 自动配置已启用. . . . . . . . . . : 是 无线局域网适配器 本地连接* 3: 媒体状态 . . . . . . . . . . . . : 媒体已断开连接 连接特定的 DNS 后缀 . . . . . . . : 描述. . . . . . . . . . . . . . . : Microsoft Wi-Fi Direct Virtual Adapter #3 物理地址. . . . . . . . . . . . . : 0C-9A-3C-7F-C0-C5 DHCP 已启用 . . . . . . . . . . . : 是 自动配置已启用. . . . . . . . . . : 是 无线局域网适配器 本地连接* 12: 媒体状态 . . . . . . . . . . . . : 媒体已断开连接 连接特定的 DNS 后缀 . . . . . . . : 描述. . . . . . . . . . . . . . . : Microsoft Wi-Fi Direct Virtual Adapter #4 物理地址. . . . . . . . . . . . . : 0E-9A-3C-7F-C0-C4 DHCP 已启用 . . . . . . . . . . . : 否 自动配置已启用. . . . . . . . . . : 是 以太网适配器 VMware Network Adapter VMnet1: 连接特定的 DNS 后缀 . . . . . . . : 描述. . . . . . . . . . . . . . . : VMware Virtual Ethernet Adapter for VMnet1 物理地址. . . . . . . . . . . . . : 00-50-56-C0-00-01 DHCP 已启用 . . . . . . . . . . . : 是 自动配置已启用. . . . . . . . . . : 是 本地链接 IPv6 地址. . . . . . . . : fe80::27d9:d5d6:bc97:444a%17(首选) IPv4 地址 . . . . . . . . . . . . : 192.168.58.1(首选) 子网掩码 . . . . . . . . . . . . : 255.255.255.0 获得租约的时间 . . . . . . . . . : 2023年10月24日 0:23:10 租约过期的时间 . . . . . . . . . : 2023年10月24日 2:08:50 默认网关. . . . . . . . . . . . . : DHCP 服务器 . . . . . . . . . . . : 192.168.58.254 DHCPv6 IAID . . . . . . . . . . . : 100683862 DHCPv6 客户端 DUID . . . . . . . : 00-01-00-01-29-05-84-14-84-A9-38-3F-87-3E TCPIP 上的 NetBIOS . . . . . . . : 已启用 以太网适配器 VMware Network Adapter VMnet8: 连接特定的 DNS 后缀 . . . . . . . : 描述. . . . . . . . . . . . . . . : VMware Virtual Ethernet Adapter for VMnet8 物理地址. . . . . . . . . . . . . : 00-50-56-C0-00-08 DHCP 已启用 . . . . . . . . . . . : 是 自动配置已启用. . . . . . . . . . : 是 本地链接 IPv6 地址. . . . . . . . : fe80::cc45:5952:7f2c:ecbf%3(首选) IPv4 地址 . . . . . . . . . . . . : 192.168.162.1(首选) 子网掩码 . . . . . . . . . . . . : 255.255.255.0 获得租约的时间 . . . . . . . . . : 2023年10月24日 0:23:10 租约过期的时间 . . . . . . . . . : 2023年10月24日 2:08:50 默认网关. . . . . . . . . . . . . : DHCP 服务器 . . . . . . . . . . . : 192.168.162.254 DHCPv6 IAID . . . . . . . . . . . : 117461078 DHCPv6 客户端 DUID . . . . . . . : 00-01-00-01-29-05-84-14-84-A9-38-3F-87-3E 主 WINS 服务器 . . . . . . . . . : 192.168.162.2 TCPIP 上的 NetBIOS . . . . . . . : 已启用 无线局域网适配器 WLAN: 连接特定的 DNS 后缀 . . . . . . . : 描述. . . . . . . . . . . . . . . : Intel(R) Wi-Fi 6 AX201 160MHz 物理地址. . . . . . . . . . . . . : 0C-9A-3C-7F-C0-C4 DHCP 已启用 . . . . . . . . . . . : 是 自动配置已启用. . . . . . . . . . : 是 IPv6 地址 . . . . . . . . . . . . : 2409:8a62:3ed:9bf0:e18:f668:77bf:f1e8(首选) 临时 IPv6 地址. . . . . . . . . . : 2409:8a62:3ed:9bf0:a543:6bce:1279:6c72(首选) 本地链接 IPv6 地址. . . . . . . . : fe80::2efd:f830:fc6:7dd9%22(首选) IPv4 地址 . . . . . . . . . . . . : 192.168.1.7(首选) 子网掩码 . . . . . . . . . . . . : 255.255.255.0 获得租约的时间 . . . . . . . . . : 2023年10月24日 0:23:20 租约过期的时间 . . . . . . . . . : 2023年10月25日 0:23:19 默认网关. . . . . . . . . . . . . : fe80::1%22 192.168.1.1 DHCP 服务器 . . . . . . . . . . . : 192.168.1.1 DHCPv6 IAID . . . . . . . . . . . : 168598076 DHCPv6 客户端 DUID . . . . . . . : 00-01-00-01-29-05-84-14-84-A9-38-3F-87-3E DNS 服务器 . . . . . . . . . . . : fe80::1%22 192.168.1.1 TCPIP 上的 NetBIOS . . . . . . . : 已启用 以太网适配器 蓝牙网络连接: 媒体状态 . . . . . . . . . . . . : 媒体已断开连接 连接特定的 DNS 后缀 . . . . . . . : 描述. . . . . . . . . . . . . . . : Bluetooth Device (Personal Area Network) 物理地址. . . . . . . . . . . . . : 0C-9A-3C-7F-C0-C8 DHCP 已启用 . . . . . . . . . . . : 是 自动配置已启用. . . . . . . . . . : 是
用来检查网络连接相关情况。如-n count 发送count指定的Echo数据包数,我们就能看到count次数据包返回的相关信息。-n count不指定则默认为-n 4,发送4个数据包
PS D:\cmdtest> ping -n 5 www.baidu.com
正在 Ping www.a.shifen.com [39.156.66.14] 具有 32 字节的数据:
来自 39.156.66.14 的回复: 字节=32 时间=41ms TTL=53
来自 39.156.66.14 的回复: 字节=32 时间=45ms TTL=53
来自 39.156.66.14 的回复: 字节=32 时间=47ms TTL=53
来自 39.156.66.14 的回复: 字节=32 时间=44ms TTL=53
来自 39.156.66.14 的回复: 字节=32 时间=42ms TTL=53
39.156.66.14 的 Ping 统计信息:
数据包: 已发送 = 5,已接收 = 5,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 41ms,最长 = 47ms,平均 = 43ms
”>“:做传递并且覆盖原内容。作用是将运行的结果传递到后面的文件(没有指定文件则默认系统控制台,即命令提示符)。
有种不同写法:
1.
echo everything will be ok>m.txt
执行:
PS D:\cmdtest> .\test.bat
D:\cmdtest>echo everything will be ok 1>m.txt
文件效果:
everything will be ok
如果没有m.txt文件则新建文件,行尾有一空格,文件后有一空行
2.
(echo everything will be ok)>m.txt
执行:
PS D:\cmdtest> .\test.bat
D:\cmdtest>(echo everything will be ok ) 1>m.txt
文件效果:
everything will be ok
如果没有m.txt文件则新建文件,行尾无空格,文件后有一空行
3.
>m.txt echo everything will be ok
执行:
PS D:\cmdtest> .\test.bat
D:\cmdtest>(echo everything will be ok ) 1>m.txt
文件效果:
everything will be ok
如果没有m.txt文件则新建文件,行尾无空格,文件后有一空行
4.
>m.txt <nul set /p=echo everything will be ok
效果同:
>m.txt set /p=echo everything will be ok <nul
执行:
PS D:\cmdtest> .\test.bat
D:\cmdtest>set /p=echo everything will be ok 1>m.txt 0<nul
文件效果:
everything will be ok
如果没有m.txt文件则新建文件,行尾无空格,文件后无空行。
“>>”:做内容追加。作用是将运行的结果追加到后面的文件(没有指定文件则默认系统控制台,即命令提示符)。用法与>相同。
“|”:把在它之前的命令或语句的执行结果作为在它之后的命令或语句的处理对象,即把它前面的输出作为它后面的输入。
echo Y|rd /s d:\cmdtest\test
就可以实现自动输入Y,删除掉d:\cmdtest路径下的test文件夹
“&”:允许同时执行多条命令,从左到右顺序执行,当第一个命令执行失败了,也不影响后边的命令执行。
dir y:\ & dir c:\
执行结果:
PS D:\cmdtest> .\test.bat D:\cmdtest>dir y:\ & dir c:\ 系统找不到指定的路径。 驱动器 C 中的卷是 Windows 卷的序列号是 A4C0-3E0F c:\ 的目录 2023/10/19 23:53 <DIR> Intel 2022/05/07 13:24 <DIR> PerfLogs 2023/05/16 09:32 <DIR> Program Files 2023/09/10 16:21 <DIR> Program Files (x86) 2023/09/09 22:16 <DIR> Users 2023/10/15 04:31 <DIR> Windows 0 个文件 0 字节 6 个目录 84,559,572,992 可用字节
“&&”:允许同时执行多条命令,从左到右顺序执行,当碰到执行出错的命令后将不再执行后面的命令
dir y:\ && dir c:\
执行结果:
PS D:\cmdtest> .\test.bat
D:\cmdtest>dir y:\ && dir c:\
系统找不到指定的路径。
“||”:允许同时执行多条命令,当一条命令执行失败后才执行第二条命令,当碰到执行正确的命令后将不执行后面的命令,如果没有出现正确的命令则一直执行完所有命令。
dir y:\ || dir c:\ || dir d:\
执行结果:
PS D:\cmdtest> .\test.bat D:\cmdtest>dir y:\ || dir c:\ || dir d:\ 系统找不到指定的路径。 驱动器 C 中的卷是 Windows 卷的序列号是 A4C0-3E0F c:\ 的目录 2023/10/19 23:53 <DIR> Intel 2022/05/07 13:24 <DIR> PerfLogs 2023/05/16 09:32 <DIR> Program Files 2023/09/10 16:21 <DIR> Program Files (x86) 2023/09/09 22:16 <DIR> Users 2023/10/15 04:31 <DIR> Windows 0 个文件 0 字节 6 个目录 84,557,713,408 可用字节
组合命令和重定向命令、管道命令一起使用要注意优先级:
管道命令的优先级高于重定向命令,重定向命令的优先级高于组合命令
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。