Windows 批量比较区分大小写的字符串

标签 windows if-statement batch-file cmd

我正在尝试在 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/

相关文章:

C++ 执行 CMD 命令

windows - 在 Ubuntu Linux 中从 Eclipse 交叉编译 Windows 应用程序?

python - 如果语句返回错误的值?

javascript - p5.j​​s – keyPressed 函数和改变 y 坐标的困难

Windows 批处理文件 : how to compare command line argument to an integer

batch-file - 这个 pretty-print %PATH% 的 cmd 单行代码的含义

python - 多处理卡住计算机

c# - 添加/删除声音设备后,如何在NAudio中选择正确的声音输出设备?

batch-file - 遍历子目录批处理文件中的文件

java - 执行一个命令后如何防止命令行窗口存在?