当我运行脚本时,控制台打印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
您可以说为什么komuts是空的,因为我希望用户输入api.bat set komut1=metin set komut2=bul ...
答案 0 :(得分:1)
您尚未声明%komut1%
,因此if
命令也失败了。如果执行了命令if
(在第3行),那么它将是:
if =="metin" goto metinapi
^
Error here, because "%komut1%" is equal to ""
要解决此问题,您可能必须在"
前后加上双引号%komut1%
:
if "%komut1"=="metin" goto metinapi
现在,不仅如此,您还可能需要编辑更多命令才能使其正常工作,例如在修复第3行之后,您必须修复第4行和第5行,等等。>