партия: Сравнение с результатом вопроса [да / нет] - PullRequest
0 голосов
/ 24 марта 2020

Первая страница или около того Google или переполнения стека привели к сравнению переменных с переменными. Но я даже еще не там. Вот мой код, посмотрите, насколько он прост, и все же я не могу на всю жизнь заставить его работать как положено.

@ECHO OFF
SET /p isFirst= "First time setup? [y/n]: "
if (%isFirst% == y) (
    ECHO "First time setup." 
    CALL npm install
)

SET /p url= "Enter Base URL: "
ECHO Setting base URL to: %url%
CALL docker-compose down
CALL npm run build
CALL docker-compose build
CALL docker-compose up -d
pause
pause

Я пытался:

if ("%isFirst%" == "y")
if ("%isFirst%" == 'y')
if ("%isFirst%" == y)
if (%isFirst% == y)

SET %isFirstTrue% = "y"
if ("%isFirst%" == %isFirstTrue%)

Ничего. Никто из них не работал. Ни один из этих ECHO не исключен First time setup. И все же последний может эхом отразить результат url просто отлично. Я предполагаю, что сравнение этого с чем-то позже приведет к той же самой проблеме.

То, что я мог сделать в python во время обеденного перерыва, мне нужна была помощь в партии. Я что-то пропустил?

Ответы [ 2 ]

1 голос
/ 24 марта 2020

Команда set с параметром /P не допускает ввода, (клавиша ввода / возврата) или абсолютно все, что включает в себя символы-символы. Я советую вам не использовать команду set для ввода одного известного символа ди git. Именно для этого была разработана встроенная команда choice. Пожалуйста, введите choice /?, чтобы прочитать информацию об использовании команды.

Пример:

@Echo Off
"%__AppDir__%choice.exe" /M "First time setup"
If Not ErrorLevel 2 (
    Echo First time setup.
    Call "%ProgramFiles%\nodejs\npm.cmd" install
)
Rem Rest of code goes here

Примечание: Пожалуйста, измените местоположение вашего npm пакетный файл в строке 5, если я угадал его неправильно.

0 голосов
/ 24 марта 2020

Очевидно, я пропустил, что пакет не нравится, если операторы в скобках.

IF %isFirst% == "y" также не работает.

%isFirst% == y делает.

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