批处理 if else 解疑

来源:百度知道 编辑:UC知道 时间:2024/06/03 19:14:02
检测用户输入的变量是否为:a,如果是,则显示:你输入的为a
否则,显示:你输入的不为a

@echo off
set /p test=请输入:
echo %test%
if %test%==a (echo 你输入的为a) else (echo 你输入的不为a)
pause>nul

请教下高手哈 代码中的set/p 是什么意思? 还有设置的变量名有要求吗?是不是任意字母或者数字(特殊字符除外)

SET
显示、设置或删除 cmd.exe 环境变量。
SET [variable=[string]]
variable 指定环境变量名。
string 指定要指派给变量的一系列字符串。
要显示当前环境变量,键入不带参数的 SET。
如果命令扩展名被启用,SET 会如下改变:
可仅用一个变量激活 SET 命令,等号或值不显示所有前缀匹配
SET 命令已使用的名称的所有变量的值。例如:
SET P
会显示所有以字母 P 打头的变量
如果在当前环境中找不到该变量名称,SET 命令将把 ERRORLEVEL
设置成 1。
SET 命令不允许变量名含有等号。
在 SET 命令中添加了两个新命令行开关:
SET /A expression
SET /P variable=[promptString]
/A 命令行开关指定等号右边的字符串为被评估的数字表达式。该表达式
评估器很简单并以递减的优先权顺序支持下列操作:
() - 分组
~ - - 一元运算符
* / % - 算数运算符
+ - - 算数运算符
<< >> - 逻辑移位
- 按位“与”
^ - 按位“异”
| - 按位“或”
= *= /= %= += -= - 赋值
&= ^= |= <<= >>=
, - 表达式分隔符
如果您