0

我有这个用于识别一组批处理文件顶部的帮助参数。有没有更简单的方法,或者这是否尽可能好?

@Echo Off
if "%1" == "" Goto Usage
if "%1" == "-?" Goto Usage
if "%1" == "/?" Goto Usage
if "%1" == "/help" Goto Usage
if "%1" == "-help" Goto Usage
if "%1" == "/Help" Goto Usage
4

2 回答 2

2
setlocal enableDelayedExpansion
set "help= -? /? -help /help "
if "%~1" equ "" goto Usage
if "!help: %~1 =!" neq "%help%" goto Usage
于 2013-07-09T11:15:27.453 回答
2

你不能让它更短:

if "%~1" == "" 转到用法
如果 "%~1" == "-?" 转到用法
如果 "%~1" == "/?" 转到用法
if /i "%~1" == "/help" 转到用法
if "%~1" == "-help" 转到用法

if /i表示忽略大小写。"%~1"避免双双引号。

您可以询问所有有用的答案,goto usage最后:

如果 /i "%~1" == "a" 转到 :doit_a
如果 /i "%~1" == "b" 转到 :doit_b
如果 /i "%~1" == "c" 转到 :doit_c
转到:用法
于 2013-07-09T08:21:10.947 回答