如果是写成tokens=1,2,3,4,那么%i表示第一个词,%j表示第二个词,%k表示第三个,%l表示第四个 。这样写是不是很麻烦,于是你可以等价的写成1-4达到同样的效果 。
大家知道%variable因为只能取一个字母(微软做这种shell的解析真的很偷懒),所以最多你只能同时控制52个词,取为%A,最后一个为%z 。最后在不加","的情况下使用 ,表示这行剩下所有的部分都是一个词 。
如果一开始就token=,那么就是取一整行的内容 。usebackq (use back quotes,使用反引号),为什么要使用反引号呢?因为(set)中的文件名可能会带有空格,这样的文件名需要用""括起来,但是,这样不是跟表示 string的语法冲突了吗?所以我们必须开启“使用反引号”的开关,开启之后,""中括起来的部分被当作文件名看待 。
而”(正常单引号)括起来的部分被当作字符串,最后“(反单引号)括起来的部分被当作命令 。for基本到这里,最后那一部分诸如"%~aI"没有看懂,达人帮忙领悟一下,帮助实在翻译得太烂 。
参数与shift %0表示命令自己的文字 。%1表示第一个参数 。
%9表示第九个参数,超过了9个怎么办?没有问题,我们可以使用shift 。
这10个参数就好像10个连续的观察点一样 。一旦shift,就是右移,这样就%0变成了原来的%1 。
%9变成了原来的"%10" 。
文章插图