%0 到 %9
%i
: 提取第 i 个命令选项,例如 %1 提取第 1 个 option,i 可以取值从 1 到 9- %~0 : 取文件名(名 + 扩展名)
- %~f0:取全路径
- %~d0:取驱动器名
- %~p0:只取路径(不包驱动器)
- %~n0:只取文件名
- %~x0:只取文件扩展名
- %~s0:取缩写全路径名
- %~a0:取文件属性
- %~t0:取文件创建时间
- %~z0:取文件大小
- (以上选项可以组合起来使用,~ 表示删除参数外面的引号)
eg:
-
test.bat "test"
%1:"test"
%~1:test(没有了双引号) -
bat 文件在 e:/mybat/test.bat
%0:e:/mybat/test.bat
%~dp0:e:/mybat/
获取批处理文件所在路径
cd /d %~dp0
%0 是批处理文件本身的路径,~dp 进行扩展
回显
@echo off
执行以后,后面所有的命令均不显示,包括本条命令。echo off
执行以后,后面所有的命令均不显示,但本条命令是显示的。
注释
- :: 注释内容(第一个冒号后也可以跟任何一个非字母数字的字符)
- rem 注释内容(不能出现重定向符号和管道符号)
- echo 注释内容(不能出现重定向符号和管道符号)〉nul
- if not exist nul 注释内容(不能出现重定向符号和管道符号)
- : 注释内容(注释文本不能与已有标签重名)
- % 注释内容 %(可以用作行间注释,不能出现重定向符号和管道符号)
- goto 标签 注释内容(可以用作说明 goto 的条件和执行内容)
- : 标签 注释内容(可以用作标签下方段的执行内容)
不自动关闭窗口
使用 pause
@echo off
echo hello world
pause