Войти

Показать полную графическую версию : [решено] Команда call выполняет только первый батник


Alexander_88
30-05-2024, 08:18
Здравствуйте, Хочу запустить из одного батника несколько других батников, которые будут выполняться по очереди, дожидаясь завершения предыдущего, а почему-то запускается только первый, остальные игнорируются, В чём может быть проблема?

Используя команду call "имя файла"

@echo off
chcp 1251>nul

set number=20
set "root=bface."
set "source=F:\01 start"
set "destination=F:\MOVER\01 start"

set "reg_exp=^[0-9][0-9][0-9][0-9]%root%\...*"
for /f "delims=" %%i in ('
dir /a-d/b/o-n "%source%\*%root%*"^| findstr /irc:"%reg_exp%"
') do (
set /a count+=1
for /f %%j in ('
set /a count
') do (
if %%j leq %number% (
move "%source%\%%i" "%destination%">nul
) else (
exit /b
)
)
)

Petya V4sechkin
30-05-2024, 11:28
) else (
exit /b
Эти две строчки - для чего?

Вообще, если вызываете через Call, то для возврата лучше использовать:
goto :eof

Alexander_88
30-05-2024, 12:13
Petya V4sechkin, спасибо за ответ




© OSzone.net 2001-2012