test.bat文件内容如下:
@echo off
echo %1
echo %2
...
echo %9
echo %10
cmd下执行 test.bat 1 2 3 4 5 6 7 8 9 10
执行结果是:1 2 3 4 5 6 7 8 9 10(当然是立着显示的)
问题1:不是说没有%10这样的参数吗?可是%10确实传递了呀!
修改test.bat如下
@echo off
echo %1
echo %2
...
echo %9
shift
echo %10
cmd下执行 test.bat 1 2 3 4 5 6 7 8 9 10
执行结果是:1 2 3 4 5 6 7 8 9 20
问题:20是怎么出来的呢?
我的理解是:
%1 %2 %3 %4 %5 %6 %7 %8 %9 %10
1 2 3 4 5 6 7 8 9 10
执行到 echo %9
显示是:1 2 3 4 5 6 7 8 9 没有问题!
到了执行shift,应该是这样的
%2 %3 %4 %5 %6 %7 %8 %9 %10 %11
1 2 3 4 5 6 7 8 9 10
那么echo %10显示的应该是9而不是20啊!到这我弄不清了!
───────────────── 版务记录 ─────────────────
执行:HAT
操作:在帖子标题中增加搜索关键字;代码加code标签
说明:原标题"关于shift的问题"不利于论坛搜索
处罚:扣除2点积分
提示:建议阅读以下帖子
{1415}提问的智慧
{7326}论坛新手必读,所有人的基本行为准则
{22703}请不要做浮躁的人
{32667}那些连标题都写不清楚的人们啊,你们醒醒吧
{32825}本版严厉整顿烂帖
───────────────── 版务记录 ─────────────────
Last edited by HAT on 2008-12-11 at 11:16 ]