batch-file - 在 if 语句中批量设置变量
问题描述
我有一个来自 .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
非常感谢!
解决方案
SET /P !uFileType!=
这条线是错误的。它应该是
SET /P uFileType=
仅在要获取变量的值时使用%...%
or !...!
,而不是在要设置变量时使用。
推荐阅读
- logging - 仅更改记录器中的记录翻转策略
- javascript - 如何删除用css las-child添加的样式
- heroku - 尝试使用 kafkacat 从本地计算机连接到 heroku kafka:ssl.ca.location 失败:没有错误
- javascript - 使用 Javascript 检测浏览器是 32 位还是 64 位
- reactjs - 在 React 中使用 Safari 而不是 Chrome 接收 401 状态
- java - 从 Java 中的嵌套空对象创建示例 JSON
- c++ - 如何使用特定地址转到c ++中的特定文件夹
- java - 优化java代码
- openid-connect - 当用户不想在 IdentityServer3 的登录页面上进行身份验证时如何重定向?
- java - 如何用引号捕获这个组?