我正在尝试在 DOS 批处理脚本中比较需要区分大小写的字符串。我不知道如何在 IF 语句中打开区分大小写。这是我正在做的,它也匹配小写的“-f”,我试图避免这种情况:
SET "ARGS=%*"
IF "%ARGS:-F=%" NEQ "%ARGS%" (
ECHO Pro option -F was found and not allowed.
GOTO :ERROR
)
最佳答案
为简单起见,使用IF/I
... /I
开关,如果指定,意味着进行不区分大小写的字符串比较。
SET "ARGS=%*"
IF /I "%ARGS:-F=%" NEQ "%ARGS%" (
ECHO Pro option -F was found and not allowed.
GOTO :ERROR
)
此外,通常的做法是使用 ==
而不是 NEQ
,因为后者用于数字比较。
即
IF %ERRORLEVEL% EQU 0 (ECHO.Ok.)
关于Windows 批量比较区分大小写的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17031480/