我已经有一段时间没有做过其中之一了,非常感谢您的帮助。
这里是示例代码:
:beam_type_toggle
if %beam_type%==E (set beam_type=X)
if %beam_type%==X (set beam_type=E)
goto menu
(:菜单是它返回的主要部分)
我相信你能看到我想做什么。我希望它在执行此部分时简单地更改“E”和“X”。我认为这会很好也很简单,它可能是,但它并没有这样做,我也懒得去阅读微软的文档。这只是我需要快速完成的一件小事。感谢您的帮助
我尝试将值放入和取出引号,但它什么也没做
您可以使用延迟扩展的怪癖轻松地使您的代码工作:
:beam_type_toggle
(
if %beam_type%==E (set beam_type=X)
if %beam_type%==X (set beam_type=E)
)
goto menu
(顺便说一下:@Magoo 的建议也使用了这个延迟扩展怪癖:
for %%s in (E X) do if "%beam_type%" neq "%%s" set "beam_type=%%s"
)
但是有一个更好的方法——给定一个只有两个定义状态的“切换”:
if "%beam_type%"=="E" (set "beam_type=X") else (set "beam_type=E")
奖励:如果变量有任何其他(或没有)值,它将强制它为两个允许值之一(本例中为
E
)