Erm .. 我正在使用解析 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
。