windows命令行cmd如何解析命令行参数

windows命令行解析参数

变量 %0到 %9

批处理文件只能处理参数%0到%9
%0是所调用的程序名,
%1是第一个命令行参数,
%2是第二个命令行参数

注意,在下面代码中

IF "%1"=="" (
	REM 注释1
	ECHO Do something
)

如果本身%1是有引号括起来的,那么就会报错。
我们要改成IF [%1]==[]或者 IF "%~1"==""

其他特殊变量

%cmdline% 将返回传递给CMD.EXE的整个命令行
%* 将返回从第一个命令行参数开始的命令行的其余部分(在Windows NT 4中,%* 还包括所有前导空格)
%~dn 将返回%n的驱动器号(n的范围从0到9),如果%n是有效的路径或文件名(没有UNC)
%~pn 将返回%n的目录,如果%n是有效的路径或文件名(没有UNC)
%~nn 将仅返回%n的文件名(如果%n是有效的文件名)
%~xn 将仅返回文件扩展名%n(如果%n是有效的文件名)
%~fn 将返回%n的完全限定路径(如果%n是有效的文件名或目录)

日期:2020-04-11 22:50:11 来源:oir作者:oir