添加/?批量切换?

kit*_*sei 5 batch-file

有人知道如何使用/调用我的批处理文件时添加要触发的操作吗?争论?我总是使用-h来显示用法,但是有一次我需要我的-h arg用于别的东西.

编辑:其实我已经尝试解析这样的属性

for %%i in (%*) do ....
Run Code Online (Sandbox Code Playgroud)

/?争论被跳过,我会尝试你的解决方案,看看它是否不同.

顺便说一句,为什么当你解析%%我/?args被跳过?

jeb*_*jeb 6

/?似乎被简单地跳过for %%i in (%*),但它的for循环的通配符功能,它试图找到一个匹配的文件/?将失败.

在不修改结果的情况下,不能使用?*在"正常"for循环中.

您可以使用该SHIFT命令访问所有参数.

:parameterLoop
if "%~1"=="/?" call :help
if "%~1"=="-h" call :help
if "%~1"=="-o" call :other
shift
if not "%~1"=="" goto :parameterLoop
Run Code Online (Sandbox Code Playgroud)

如果您还想显示所选选项,则回显命令会出现问题,因为这通常会显示帮助而不是/?.

您可以通过使用echo(%1而不是来避免这种情况echo %1.