.bat терпит неудачу - где проблема - PullRequest
0 голосов
/ 17 января 2011

Что может привести к прекращению работы командного файла в середине работы?

Ответы [ 3 ]

2 голосов
/ 17 января 2011

Оператор exit приведет к преждевременному завершению пакетного файла.

0 голосов
/ 17 января 2011

Как уже упоминалось, это слишком открытый ответ, чтобы ответить эффективно.

Тем не менее, вы можете захотеть увидеть этот вопрос о необходимости команды CALL для вызова другого пакетного сценарияи верните его на сайт вызова.

0 голосов
/ 17 января 2011

Существуют некоторые немедленные остановки ошибок.
Но в вашем особом случае причина неизвестна, как и код.

rem error1 - Invalid % Expansion
rem %~

rem error2 - call REM /?
set "switch=/?" 
call rem %%switch%%

rem error3 - stackoverflow
:stack
call :stack

rem error4 - call caret crash only with Vista
set "caret=^"
call echo %%caret%%

rem error5 - Long expansion
rem shows that expansion of % in a line is before the rem ignores the rest of the line
rem The expansion results in a very long line with 10000 characters, the batch stops immediatly
setlocal EnableDelayedExpansion
set "longStr=."
for /L %%c in (1,1,13) DO set longStr=!longStr:~0,2500!!longStr:~0,2500!
rem Now we heave a string with 5000 characters, and build a rem line with 2 times 5000 = 10000 characters
rem The next line crashes the batch file
rem tokenOne %longStr% %longStr%
(
    ENDLOCAL
    goto :eof
)

rem error 6 - %%var<LF> error, crashes only sometimes
set critical_content=hello%%~^

echo $
for %%a in (1 ) do (
    for %%x in (4) do (
        rem #%critical_content%#
    )
) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...