Bat файл не работает должным образом

В Windows 10 cmd я создал bat-файл со следующим кодом, но он не работает, и я не знаю, почему

@echo off

set /p var = "hola: "

if  "%var%" == "hola" (

    echo correcto

    GOTO fin

)

echo incorrecto

:fin

echo fin

pause
5
задан 28.11.2019, 16:14
2 ответа

Оцененный, у тебя есть ошибки tipeo и синтаксиса в каких-то секторах, я оставляю тебе твой пример функционируя правильной формы:

Объяснений с комментариями в блоке cГіdigo #:

     @echo off
    #las variables y los textos no deben ir entre comillas
    :inicio
    set/p var=hola:
    echo.
    #El IF no lleva parentesis, sino que se direcciona con "goto" donde quieres ir.
    if %var%==hola goto correcto else goto fin
    #La comparación se realiza con el valor de la variable y con el texto sin comillas 
    #Añadí adicionalmente un pause en cada resultado para ver donde cae tu respuesta
    :fin
    echo incorrecto
    pause
    exit

    :correcto
    echo correcto
    pause
    exit

, Если у тебя есть сомнения, не забывай спросить.

6
ответ дан 01.12.2019, 10:40
  • 1
    Está совершенный. :) – Franqo Balsamo 28.11.2019, 15:38
  • 2
    Спасибо, все из-за помогает коллеге. – harifo 28.11.2019, 15:39
  • 3
    harifo спасибо за ответ, но в часть аккуратного кода было бы уместным объяснять каждую неудачу или по крайней мере перечислять их, чтобы не быть должным сравнивать код и другой – lois6b♦ 28.11.2019, 16:07
  • 4
    @lois6b añ adí комментарии, чтобы объяснять có я говорю и то, чего ему не хватает из-за того, что помогает. – harifo 28.11.2019, 16:20

Проблема - в этой линии. if "%var%" == "hola" ( echo correcto GOTO fin ) echo incorrecto

Переменная var ты она поместил между кавычками " %var % " и ты это должен помещать с кавычками БОЛЬШЕ КВАДРАТНЫЕ СКОБКИ [" %var % "]

CГіdigo Конец с какими-то договоренностями:

@echo off
title EJEMPLO
set/p var = "hola: "

if ["%var%"]=="123" (
goto bien

)ELSE (
goto mal
)

:bien
echo bien
pause

:mal
echo mal
pause

-2
ответ дан 01.12.2019, 10:40
  • 1
    Нет, это está плохо. Потому что, нажав на 123, он выходит " mal" – Franqo Balsamo 28.11.2019, 15:31