【发布时间】:2020-06-13 07:31:28
【问题描述】:
我有这个代码:
@echo off
setlocal enabledelayedexpansion
set ZOOM_LEVEL=100
choice /c XSM /m "Please input selected font size: "
echo errorlevel: %errorlevel%
if %errorlevel% == 1 (
echo Font size selected: Extra Small
set ZOOM_LEVEL=-1.5
echo zoom1 !ZOOM_LEVEL!
)
if %errorlevel% == 2 (
echo Font size selected: Small
set ZOOM_LEVEL=-1
echo zoom2 !ZOOM_LEVEL!
)
if %errorlevel% == 3 (
echo Font size selected: Medium
set ZOOM_LEVEL=0
echo zoom3 !ZOOM_LEVEL!
)
echo zoom level !ZOOM_LEVEL!
echo Font size saved
pause
所以我期待如果:
-
X被选中,ZOOM_LEVEL = -1.5 -
S被选中,ZOOM_LEVEL = -1 -
M被选中,ZOOM_LEVEL = 0
但是,当我运行这个 bat 文件时,我得到了 ff:
-
x已选中:
Please input selected font size: [X,S,M]?X
errorlevel: 1
Font size selected: Extra Small
zoom1 -1.5
zoom3 0
zoom level 0
Font size saved
-
s已选中:
Please input selected font size: [X,S,M]?S
errorlevel: 2
Font size selected: Small
zoom2 -1
zoom3 0
zoom level 0
Font size saved
-
m已选中:
Please input selected font size: [X,S,M]?M
errorlevel: 3
Font size selected: Medium
zoom3 0
zoom level 0
Font size saved
无论选择什么,它似乎总是会进入 errorlevel3,因为它打印 zoom3 0 但从不打印 Font size selected 部分。
发生了什么?? 请帮忙。谢谢
【问题讨论】:
标签: batch-file cmd command-line