0

我有下面的脚本执行正确,但基本上我希望 .bat 在输入赌场名称和用户名之前询问用户是否需要赌场列表,然后,如果他们选择l(小写字母 EL)作为列表,它会生成赌场列表。目前得到“错误转换退出值”。谁能告诉我这个的代码?

@echo off
osql -STEMP7 -E -dAAMS888 -w256 -qEXIT("SET NOCOUNT ON SELECT casino_desc from casino") -b

set /p var1= Enter Casino Name : 
set /p var2= Enter Screen name : 

osql -STEMP7 -E -dAAMS888 -w256 -QEXIT("DECLARE @r int EXEC @r = usp_AddToObservationtbl '%var1%','%var2%' SELECT @r") -b -oc:\bat\observation.log
exit errorlevel
4

1 回答 1

1

通过更改行来修复退出值转换错误

exit errorlevel

exit %errorlevel%

你要返回ERRORLEVEL变量的值,所以需要把名字括在%s 中。

至于您的第一个问题,关于要求用户确认他们是否要显示赌场列表,您可以尝试对原始脚本进行类似修改(添加的行以粗体突出显示):

@ECHO OFF

SET /P "NeedsList= Do you want to display the list? "

IF /I NOT [%NeedsList%] == [L] GOTO :cont
osql -STEMP7 -E -dAAMS888 -w256 -qEXIT("SET NOCOUNT ON SELECT casino_desc from casino") -b

:cont
set /p var1= Enter Casino Name : 
set /p var2= Enter Screen name : 

osql -STEMP7 -E -dAAMS888 -w256 -QEXIT("DECLARE @r int EXEC @r = usp_AddToObservationtbl '%var1%','%var2%' SELECT @r") -b -oc:\bat\observation.log
exit %errorlevel%
于 2011-07-13T14:12:06.533 回答