在if语句中批量设置变量

时间:2018-06-27 16:21:54

标签: batch-file

我有一个.bat文件中的代码片段,该代码片段似乎无法正常运行。目的是让用户为此代码段设置一个变量(到K),但是一旦我尝试在if语句中设置第二个变量(M或A) ,则变量%ufileType%为从来没有设置。这是由于语法错误或逻辑造成的吗?

@echo off
setlocal enabledelayedexpansion
title Clean Install

ECHO Enter K:
SET /P uPrograms=
IF %uPrograms%==K (
  ECHO Change key to .mdb or .accdb? [M/A]
    SET /P !uFileType!=
    ECHO !uFileType!
    IF !uFileType!==M (
        ECHO Changing keys from .accdb to .mdb
    )
  IF !uFileType!==A (
    ECHO Changing keys from .accdb to .mdb
  )
) ELSE (
    ECHO Value not K
)

EXIT /B 0

谢谢你!

1 个答案:

答案 0 :(得分:1)

    SET /P !uFileType!=

此行是错误的。应该是

    SET /P uFileType=

仅在要获取变量的值时才使用%...%!...!,而不是在设置变量时使用