Windows 批处理错误(未知)

Windows 批处理错误(未知),windows,batch-file,cmd,Windows,Batch File,Cmd,我试图运行一个文件来打开twitch feed ex browser(这很好),但突然出现了一个错误:“:此时出乎意料。” 我知道这看起来像是我在代码中不应该有的地方随便加了一个:但我已经检查过了。 我将把代码放在下面,可能还有其他错误,(我无法运行它进行故障排除),代码如下 @echo off color 0a echo Intitializing...... echo Done loading! (0.0026s) To continue, pause cd C:\Users\Ha

我试图运行一个文件来打开twitch feed ex browser(这很好),但突然出现了一个错误:“:此时出乎意料。” 我知道这看起来像是我在代码中不应该有的地方随便加了一个:但我已经检查过了。 我将把代码放在下面,可能还有其他错误,(我无法运行它进行故障排除),代码如下

@echo off

color 0a

echo Intitializing......

echo Done loading! (0.0026s) To continue,

pause

cd C:\Users\Harry\Desktop\Everything

tree

GOTO Startup


:Startup

cls

SET /P Answer=Do you want to watch your favorite twitch users?(1) Or enter a custom user?(2) Or add a user to your favorites(3)

if "%Answer%" == "1" (

GOTO Favorite

) else (

if "%Answer%" == "2" (

GOTO Questions

) else (

if "%Answer%" == "3" (

GOTO AddUser

) else (

echo *facepalm*

GOTO Startup

)





:Questions

cls

SET /P User=Who do you want? (Enter twitch user you want to watch): 

SET /P Quality=What quality do you want? (low/medium/high/source(highest)/audio/mobile(lowest))

SET /P Verify=So you want to watch %User% at %Quality% quality? (yes/no): 

if "%Verify%" == "yes" (

GOTO Stream

) else (

if "%Verify%" == "Yes" (

GOTO Stream

) else (

if "%Verify%" == "no" (

GOTO Questions

) else (

if "%Verify%" == "No" (

GOTO Questions

) else (

echo *facepalm*

GOTO Questions

)



:Stream

cls

livestreamer twitch.tv/%User% %Quality%

GOTO Questions



:AddUser

if exist {save1.txt} (

set check = 4

GOTO Load

) else (

set numb=0

GOTO AddUser1

)



:AddUser1

set person%numb% = ""

SET /P User=Please enter the user: (Enter twitch user you want to add):

%User% = %person%%numb%

set check = 1

GOTO Save

)




:Favorite

if exist {save1.txt} (

set check = 3

GOTO Load

) else (

set numb=0

set check = 2

)

:Favorite1

cls

GOTO Save



:Favorite2



:Save



echo %numb% > save1.txt

echo %person%numb%% > save.txt



if "%check%" = 4 (

GOTO Startup

) else (

if "%check%" = 3 (

GOTO Favorite1

)



:load

< save1.txt (

SET /P numb=

)

< save.txt (

SET /P person1=

SET /P person2=

SET /P person3=

SET /P person4=

SET /P person5=

SET /P person6=

SET /P person7=

SET /P person8=

SET /P person9=

SET /P person1=

SET /P person10=

SET /P person11=

SET /P person12=

SET /P person13=

SET /P person14=

SET /P person15=



)

del save1.txt

if "%check%" = 1 (

GOTO AddUser1

)

) else (

if "%check%" = 2 (

GOTO Favorite2



)
@echo关闭
颜色0a
回声初始化。。。。。。
回声完成加载!(0.0026s)继续,
暂停
cd C:\Users\Harry\Desktop\Everything
树
转到启动
:启动
cls
SET/P Answer=您想观看您喜爱的twitch用户吗?(1)或输入自定义用户吗?(2)或将用户添加到您的收藏夹中(3)
如果“%Answer%”=1(
转到最爱
)否则(
如果“%Answer%”==“2”(
转到问题
)否则(
如果“%Answer%”==“3”(
转到AddUser
)否则(
echo*facepalm*
转到启动
)
:问题
cls
SET/P User=您想要谁?(输入您想要观看的twitch用户):
SET/P Quality=您想要什么质量?(低/中/高/源(最高)/音频/移动(最低))
SET/P Verify=因此您想在%Quality%质量下观看%User%(是/否):
如果“%Verify%”==“yes”(
后藤溪
)否则(
如果“%Verify%”==“Yes”(
后藤溪
)否则(
如果“%Verify%”==“no”(
转到问题
)否则(
如果“%Verify%”==“No”(
转到问题
)否则(
echo*facepalm*
转到问题
)
:流
cls
livestreamer twitch.tv/%User%%质量%
转到问题
:AddUser
如果存在{save1.txt}(
设置检查=4
转载
)否则(
设置numb=0
转到AddUser1
)
:AddUser1
设置人员%numb%=“”
SET/P User=请输入用户:(输入要添加的twitch用户):
%用户%=%person%%numb%
设置检查=1
去拯救
)
:最爱
如果存在{save1.txt}(
设置检查=3
转载
)否则(
设置numb=0
设置检查=2
)
:收藏1
cls
去拯救
:收藏2
:保存
echo%numb%>save1.txt
echo%person%numb%%>save.txt
如果“%check%”=4(
转到启动
)否则(
如果“%check%”=3(
转到收藏夹1
)
:装载
AFAIK,在批脚本中没有
else if
的方法,而且您嵌套每个连续的
if
的方式似乎在许多地方缺少结束括号。我相信您收到的错误主要是由于缺少括号,在启动新命令之前没有关闭命令。当
IF
命令行成功时,始终会有一个
GOTO
,因此将连续的
IF
放在下面不会改变批处理文件的预期流

@ECHO off
COLOR 0a
@ECHO Intitializing......
@ECHO Done loading! (0.0026s) To continue,
PAUSE
CD C:\Users\Harry\Desktop\Everything
TREE
GOTO Startup

:Startup
CLS
SET /P Answer=Do you want to watch your favorite twitch users?(1) Or enter a custom user?(2) Or add a user to your favorites(3)
REM this may be an easier way to deal with the options when only a single GOTO is run
IF "%Answer%" == "1" GOTO Favorite
IF "%Answer%" == "2" GOTO Questions
IF "%Answer%" == "3" GOTO AddUser
@ECHO *facepalm*
GOTO Startup

:Questions
CLS
SET /P User=Who do you want? (Enter twitch user you want to watch): 
SET /P Quality=What quality do you want? (low/medium/high/source(highest)/audio/mobile(lowest))
SET /P Verify=So you want to watch %User% at %Quality% quality? (yes/no): 
IF "%Verify%" == "yes" (
    GOTO Stream
)
IF "%Verify%" == "no" (
    GOTO Questions
)
@ECHO *facepalm*
GOTO Questions

:Stream
CLS
livestreamer twitch.tv/%User% %Quality%
GOTO Questions

:AddUser
IF EXIST {save1.txt} (
    SET check = 4
    GOTO Load
)
SET numb=0
GOTO AddUser1

:AddUser1
SET person%numb% = ""
SET /P User=Please enter the user: (Enter twitch user you want to add):
%User% = %person%%numb%
SET check = 1
GOTO Save

:Favorite
IF EXIST {save1.txt} (
    SET check = 3
    GOTO Load
)
SET numb=0
SET check = 2

:Favorite1
CLS
GOTO Save

:Favorite2

:Save
@ECHO %numb% > save1.txt
@ECHO %person%numb%% > save.txt
IF "%check%" = 4 (
    GOTO Startup
)
IF "%check%" = 3 (
    GOTO Favorite1
)

:load
< save1.txt (
    SET /P numb=
)

< save.txt (
    SET /P person1=
    SET /P person2=
    SET /P person3=
    SET /P person4=
    SET /P person5=
    SET /P person6=
    SET /P person7=
    SET /P person8=
    SET /P person9=
    SET /P person1=
    SET /P person10=
    SET /P person11=
    SET /P person12=
    SET /P person13=
    SET /P person14=
    SET /P person15=
)

DEL save1.txt

IF "%check%" = 1 (
    GOTO AddUser1
)

IF "%check%" = 2 (
    GOTO Favorite2
)
@ECHO关闭
颜色0a
@回声初始化。。。。。。
@ECHO已完成加载!(0.0026s)以继续,
暂停
CD C:\Users\Harry\Desktop\Everything
树
转到启动
:启动
CLS
SET/P Answer=您想观看您喜爱的twitch用户吗?(1)或输入自定义用户吗?(2)或将用户添加到您的收藏夹中(3)
REM当只运行一个GOTO时,这可能是处理选项的一种更简单的方法
如果“%Answer%”==“1”转到收藏夹
如果“%Answer%”==“2”个转到问题
如果“%Answer%”==“3”转到AddUser
@ECHO*facepalm*
转到启动
:问题
CLS
SET/P User=您想要谁?(输入您想要观看的twitch用户):
SET/P Quality=您想要什么质量?(低/中/高/源(最高)/音频/移动(最低))
SET/P Verify=因此您想在%Quality%质量下观看%User%(是/否):
如果“%Verify%”==“yes”(
后藤溪
)
如果“%Verify%”==“no”(
转到问题
)
@ECHO*facepalm*
转到问题
:流
CLS
livestreamer twitch.tv/%User%%质量%
转到问题
:AddUser
如果存在{save1.txt}(
设置检查=4
转载
)
设置numb=0
转到AddUser1
:AddUser1
设置人员%numb%=“”
SET/P User=请输入用户:(输入要添加的twitch用户):
%用户%=%person%%numb%
设置检查=1
去拯救
:最爱
如果存在{save1.txt}(
设置检查=3
转载
)
设置numb=0
设置检查=2
:收藏1
CLS
去拯救
:收藏2
:保存
@ECHO%numb%>save1.txt
@ECHO%person%numb%%>save.txt
如果“%check%”=4(
转到启动
)
如果“%check%”=3(
转到收藏夹1
)
:装载

我可能没有完全正确,但这确实可以运行,以便执行进一步的调试。下面的文章可能对您有用-。

尝试删除
@ECHO OFF
。这会导致在执行每个命令之前打印每个命令。出现错误的行是打印最后一行之后的行。1)在结尾处注释出一堆代码,并尝试隔离问题。2)插入一些
echo
语句,以帮助进一步隔离问题。3)缩小问题的范围后,看看是否能找出问题的原因。4)如果在尝试第3步后无法找出问题所在,请在此处发布代码的相关部分,正确设置格式,并询问有关该代码的特定问题。我们不是来调试几十行代码来尝试找出问题所在。我的代码编辑器(正式)显示右括号缺失了五次,大部分在
)其他(
行:第一行在第27行(命令14)当然。问题已经明确指出,所以我认为没有理由提出“离题”指控。毫无疑问,问题是@JosefZ所说的不平衡括号。因为