%0 指批处理本身。
%1 指批处理文件名后加的以空格分隔的字符串。
%2~%9类推
比如说
D盘根目录下有aa.txt,bb.txt,cc.txt三个文本和一个名batName.bat的批处理,批处理内容是
@echo off
start %1
start %3
打开CMD定位到D盘
D:\>batName aa.txt bb.txt cc.txt
对应: %0 %1 %2 %3
就会打开aa.txt(它是第一个参数即%1)和cc.txt(它是第三个参数即%3),而不会打开bb.txt,因为批处理的命令里没有start %2(bb.txt排第二所以是第二个参数)
%2
substitutes in the second argument. %~2
substitutes the second argumenty but removes any quote marks:
C:\Temp>type t.cmd
@echo off
echo %%2 is: %2
echo %%~2 is: %~2
C:\Temp>t.cmd first second third
%2 is: second
%~2 is: second
C:\Temp>t.cmd first "second third"
%2 is: "second third"
%~2 is: second third
先写一个批处理文件,命令很简单,只是打印语句,如下:
rem 我把"执行echo off"和"执行echo on"也打印出来了,对了,前面的 rem 相当于java注释中的// echo 第一句 echo 第二句 echo 第三句 echo off echo 执行echo off后 echo 第一句 echo 第二句 echo 第三句 echo on echo 执行echo on后 echo 第一句 echo 第二句 echo 第三句
然后是运行结果,图中有说明:
执行”echo off”,后面所执行的命令不会显示出来,只会显示结果.
但”echo off”本身的命令会显示出来怎么办,所以一般见到的echo off 前面都有”@”,”@”作用是此行所有的命令都不显示,只执行,和”echo off”比较相似,不过只对当前行起作用
————————————————
版权声明:本文为CSDN博主「S_clifftop」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/S_clifftop/article/details/78632313
版权声明:本文为CSDN博主「rainbow702」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/rainbow702/article/details/50516739
原文:https://www.cnblogs.com/frankcui/p/11490266.html