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%

変数の値を返したいので、名前をsERRORLEVELで囲む必要があります。%

カジノのリストを表示するかどうかをユーザーに確認するよう求める最初の質問については、元のスクリプトを次のように変更してみてください (追加された行は太字で強調表示されています)。

@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 に答える