我有一个创建某些变量的批处理代码。但是,我想添加一个IF
语句,以便用户输入"技术"对于第一个变量,它然后创建另一个变量并要求提供其他信息。然后python脚本读取这些变量以进行进一步处理。
以下是代码:
set constraint_type=1
set constraint_technology=1
set /p constraint_type="Enter constraint type (E.g. "Equipment" or "Technology"): "
IF /I !constraint_type!=="Technology" set /p constraint_technology="Enter Technology name: "
cmd /k python "script.py" %constraint_type% %constraint_technology%
@echo on
代码运行但未提示用户输入constraint_technology
变量。我错过了什么吗?
答案 0 :(得分:1)
您可能没有启用延迟扩展
如果没有它, !constraint_type!
就无法评估。同时删除引号,因为批次不会这样做,因此比较将始终为假,因为用户不会在输入中放置引号。
更好的解决方法:使用标准环境。 var delimiters,适用于所有情况,
IF /I %constraint_type%==Technology