Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Команда call выполняет только первый батник (http://forum.oszone.net/showthread.php?t=355328)

Alexander_88 30-05-2024 08:18 3027696

Команда call выполняет только первый батник
 
Здравствуйте, Хочу запустить из одного батника несколько других батников, которые будут выполняться по очереди, дожидаясь завершения предыдущего, а почему-то запускается только первый, остальные игнорируются, В чём может быть проблема?

Используя команду 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 3027703

Цитата:

Цитата Alexander_88
) else (
exit /b

Эти две строчки - для чего?

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

goto :eof

Alexander_88 30-05-2024 12:13 3027705

Petya V4sechkin, спасибо за ответ


Время: 01:30.

Время: 01:30.
© OSzone.net 2001-