如何在batch file中识别用户input帮助(/?)

通常在大多数批处理命令中,它使用/? 以获得特定命令的描述或帮助。 那么有没有一种方法来识别用户是通过input/?来寻求帮助/? 作为参数( mybatchfilename /?

我试过IF %1==/? goto Help IF %1==/? goto Help 。 但似乎? 在批量指令中有特殊的含义。

任何帮助?

Solutions Collecting From Web of "如何在batch file中识别用户input帮助(/?)"

要解决这个问题,你可以在你的if参数中加引号(“),如下所示:

 if "%1" == "/?" goto Help 

这工作,它修复你的问题。 一个工作的例子? 干得好:

 @echo off if "%1" == "/?" goto help :main echo No help here. echo Just doing stuff exit /b 1 :help echo The file is helping you... timeout 1 >nul echo Just kidding. exit /b 0 

在这里我显示帮助,如果没有选择开关。 最后一行显示了如何测试一个特定的参数( /ud但是你可以把它改成-?/?

 If not "%1"=="" goto main echo Filter.bat echo ========== echo The Filter program is a vbs file for searching, replacing, extracting, and echo trimming console output and text files. echo. echo Filter.bat makes Filter.vbs easily usable from the command line. It echo controls unicode/ansi support and debugging. echo. echo Type Filter /? for more information. echo. cscript //nologo "C:\Users\David Candy\Desktop\Filter.vbs" menu Goto :EOF :Main Rem /ud Unicode and Debug If %1==/ud FOR /F "tokens=1*" %%i IN ("%*") DO cscript "C:\Users\David Candy\Desktop\Filter.vbs" //nologo //u //x %%j&Goto :EOF