我的下面的脚本运行正常,但基本上我希望.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
答案 0 :(得分: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%