如何检查 "set /p" 答案是否无效?

How do I check if "set /p" answer is invalid?

我需要检查 %test% 是否不等于 Y 或 N,我该怎么做?

set /p test=
if /i %test% equ Y goto y
if /i %test% equ N goto n

如果提供的值没有通过测试,那么它一定不是-(y,Y,n,N),所以批处理只是继续执行下一条指令。不需要特定的测试。

但是 - 请考虑专为此任务设计的 choice。为 [batch-file] choice 使用 search 工具,例如 或查看文档 - choice /? 从提示。

比较时,使用if "thing1" == "thing2" ...,避免thing1/2.

中空格引起的问题