Гото было неожиданное время - PullRequest
0 голосов
/ 05 мая 2019

Когда я запускаю скрипт, консоль печатает goto was unexpected time, (у меня плохой английский)

@echo on
set versiyon=0.1
if %komut1%=="metin" goto metinapi
if %komut1%=="internet" goto internetapi
if %komut1%=="dosya" goto dosyaapi
if %komut1%=="sistem" goto sistem
if %komut1%=="versiyon"(
    echo %versiyon%
    pause
) 
color c 
echo Hata:Aranan sey bulunamadi!Aradiginiz seyi dogru yazdiginizdan emin 
olun!ya da frameworku guncelleyin. suanki verisyon:%versiyon% KOD:1
pause
:metinapi
if %komut2%=="degistir"(
    if %komut3%=="" goto null 
    if %komut4%=="" goto null 
    if %komut5%=="" goto null 
    setlocal ENABLEDELAYEDEXPANSION
    set str=%komut3%
    set str=%str:!komut5!=!komut4!%
    echo %str%
    pause
)
if %komut2%=="bul"(
    if %komut3%=="" goto null 
    if %komut4%=="" goto null 
    Echo.%komut3%| findstr /C:%komut4%>nul && (Echo.EVET) || (Echo.HAYIR)
    pause
)


:null
color c
echo Deger null olamaz!KOD:2
pause

Вы можете сказать, почему комуты пусты, потому что я хочу, чтобы пользователь вводил их как api.bat set komut1=metin set komut2=bul ...

1 Ответ

1 голос
/ 11 мая 2019

Вы не объявили %komut1%, и поэтому команда if также не прошла. И если команда if выполнена (прямо в строке # 3), то это будет:

if =="metin" goto metinapi
   ^
   Error here, because "%komut1%" is equal to ""

Чтобы исправить это, вам, возможно, придется включить двойные кавычки " до и после %komut1%:

if "%komut1"=="metin" goto metinapi

Теперь не только это, но вам, возможно, придется отредактировать больше команд, чтобы заставить его работать, например, после того, как вы исправите строку № 3, вам придется исправить строки № 4 и № 5 и т. Д.

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