cmd指令的剖析
- %查看相对路径或是源目标
- %~x查看文件名后缀
- %~n查看文件名不含后缀
- %~z查看大小
- %~s查看绝对简写路径
- %~f查看绝对路径
- %~d查看盘符
- %~t查看修改时间
- if [not] defined variable 可以判断变量是否有内容
- %~I 删除外围"引号
- %~fI 完整路径
- %~dI 驱动器号
- %~pI 路径
- %~nI 文件名
- %~xI 文件扩展名
- %~dpI: 驱动器号和路径
- %~nxI: 文件名加扩展名
- + 命令文件连接符
- *, ? 文件通配符
- “” 字符串界定符
- ^ 转义符,其后面的特殊字符按原样输出
- | 命令管道符
- >> 文件重定向符
- @ 命令行回显屏蔽符
- / 参数开关引导符
- : 批处理标签引导符
- % 批处理变量引导符
- 组合命令: &
- 用法: 第一条命令 & 第二条命令 [& 第三条命令…]
- 同时执行多条命令,而不管命令是否执行成功。
- &&
- 用法: 第一条命令 && 第二条命令 [&& 第三条命令…]
- 同时执行多条命令,当碰到执行出错的命令将不执行后面的命令,如果一直没有出错则一直执行完所以命令。
- ||
- 用法: 第一条命令 || 第二条命令 [|| 第三条命令…]
- 同时执行多条命令,当碰到执行正确的命令将不执行后面的命令,如果一直没有出现正确执行的命令则一直执行完所以命令。
- | 管道命令
- 用法: 第一条命令 | 第二条命令 [| 第三条命令…]
- 将第一条命令的结果作为第二条命令的参数来使用
- > , >>, 输出重定向命令
- 将一条命令或某个程序输出结果重定向到特定文件中。> 与 >> 的区别在于:
- > 会清除原有文件中的内容后写入指定文件,
- >> 只会追加内容到指定文件中,而不会改变其中的内容。
- <, >&, <&
- < 从文件中而不是键盘中读入命令输入。
- >& 将一个句柄的输出写入到另一个句柄的输入中。
- <& 从一个句柄读入输入并将其写入到另一个句柄输出中。
- set [[/a [expression]] [/p [variable=]] string]
- %CD% 目录(current directory)
- %DATE% 日期
- %TIME% 时间
- %RANDOM% 随机数
- (,) 分组
- +,-,*,/,% 算法
- <<, >> 逻辑移位
- &, |, ^ 位运算
cmd指令与.bat脚本的注意事项与区分
实际上,在命令行中,单个%号才会起作用,而在.bat脚本中,有些作用域也就是大括号中的%号不变,作用域外的%号要变成两个%号。