приведение в порядок .BAT файла - PullRequest
0 голосов
/ 13 июля 2011

У меня есть скрипт ниже, который работает правильно, но в основном я хочу, чтобы .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

1 Ответ

1 голос
/ 13 июля 2011

Ошибка преобразования выходного значения исправляется путем изменения строки

exit errorlevel

на

exit %errorlevel%

Вы хотите вернуть значение переменной ERRORLEVEL, поэтому вам нужновключите имя в % s.

Что касается вашего первого вопроса, о том, чтобы попросить пользователя подтвердить, хотят ли они отобразить список казино, вы можете попробовать что-то вроде этой модификации вашего исходного скрипта (добавленолинии выделены жирным шрифтом):

@ECHO OFF

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

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

<b>:cont</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%
...