Установите переменную в операторе if в пакете - PullRequest
0 голосов
/ 27 июня 2018

У меня есть фрагмент кода из файла .bat, который, кажется, не работает должным образом. Намерение состоит в том, чтобы пользователь установил переменную (K) для этого фрагмента, но как только я попытаюсь установить вторую переменную (M или A) в операторе if , переменная% 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 голосов
/ 27 июня 2018
    SET /P !uFileType!=

Эта строка неверна. Должно быть

    SET /P uFileType=

Вы используете %...% или !...! только тогда, когда хотите получить значение переменной, а не когда хотите ее установить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...