Windows 批处理错误(未知)
我试图运行一个文件来打开twitch feed ex browser(这很好),但突然出现了一个错误:“:此时出乎意料。” 我知道这看起来像是我在代码中不应该有的地方随便加了一个:但我已经检查过了。 我将把代码放在下面,可能还有其他错误,(我无法运行它进行故障排除),代码如下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
@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所说的不平衡括号。因为