.BAT切换解析

时间:2012-12-01 03:23:30

标签: batch-file cmd options shift

嗯..我正在使用BAT文件中的开关解析,如下所示:

<commands> -a -b -x -y -z -u abc ......

用户可以输入大量开关,也可以不输入任何开关。所以我使用循环移位来解析无限开关:

:loop
IF "%1"=="-a"
...
SHIFT
GOTO loop

但是当脚本结束时,我总是让cmd执行开关并显示错误,如

'-n' is not recognized as an internal...

所以,有人有任何想法?非常感谢... P / S:如果可能的话,使用BAT脚本制作解决方案,因为使用其他语言可能会导致依赖性问题,因为此脚本针对的是任何带有Windows的计算机。

最后,再次感谢=)

编辑:尝试了shf301的建议,我发现我使用DEL %0删除了自己,但由于%0命令,似乎SHIFT被转移到了参数中。

1 个答案:

答案 0 :(得分:0)

哇......终于自己解决了〜 我用scirpt的fullpath而不是DEL %0替换了%0,然后一切都恢复了工作。