FOR
如果将/?放在其他字符串前面或后面并且没有空格
for xxx/?yyy仍然显示帮助信息
如果/?前后有空格
for xxx /?或者for /? yyy会报不应有xxx和yyy的错误 也就是说for仅在有且只有一个参数并包含/?时 才显示帮助信息
这是因为for后面有其他关键字
所以/?必须作为一个独立参数单独解析
IF
如果将/?放在其他字符串前面或者后面
则if都会放弃显示帮助信息
if xxx/?会显示帮助信息
if /?yyy==/?yyy会比较字符串
if /?==/?既不会显示帮助也不比较字符串
而是会报不应有/?的语法错误 也就是说if仅在有且只有一个参数并以/?结尾i时 才显示帮助信息
所以仅在两个字符串的前面添加防御字符是有风险的