でこの問題が発生しています**処理されていない場合==%true%**。
問題は、ループしてはいけないときに問題が残っていることです。
処理されたIFの周りで試してみました==%false%ループに入っていますが、2回目に戻りません。時々、それは3回まで入る。最初に文が実行されますが、2回目ではありません
私の「エコー!処理さ!プロセスは、」いつも私に右の番号を与えているが、IF文がちょうど二度目を処理していない周りの
% TRUE%と%FALSE%であるグローバル変数1と0
あなたはTRUE
と
FALSE
が何であるかを定義する場所
setlocal
:loopapp
**if not '!processed!'=='%TRUE%'** (
set /a count+=1
"%ProgramFiles%\abc\abc.exe" !file! !post!
call :ERRORCODES !file! !post! !ERRORLEVEL! !count!
goto :loopapp
)
endlocal
:ERRORCODES
setlocal
if %errornum% LEQ 99 (
set no_license=%FALSE%
if '!post!'== 'A' set no_license=%TRUE%
if '!no_license!'=='%TRUE%' (
echo Searching ... '!count!' ... Please Wait ...
if !count! EQU 5 (
set execute=%TRUE%
set succes=%FALSE%
echo %~n1 - Fatal - process %TIME% >> %tempfolder%\errorlog.txt
goto :END
)
set execute=%FALSE%
set succes=%FALSE%
goto :out_errorcodes
)
set execute=%TRUE%
set succes=%FALSE%
echo %~n1 - Fatal - process %TIME% >> %tempfolder%\errorlog.txt
goto :out_errorcodes
)
... other errors
:out_errorcodes
endlocal & set processed=%execute% & set fait=%succes%
goto :EOF
に文書化されている%、処理%変数を使用してこの
をその空間を有する避けるために
trueになります:setlocalを持たないERRORCODESを使用しましたが、サブプログラムとしては使用していません。それは、サブプログラムが別のサブプログラムを呼び出すサブプログラムのようにうまく動作しないようです...とにかくthx! – Spaceballs