2013-03-13 5 views
0

Я искал какую-то задачу с помощью Batch Script, может ли кто-нибудь помочь?Обработка пакетного сценария с чередованием

У меня есть основной пакетный скрипт, который вызывает build.bat. Когда вызывается скрипт сборки (start cmd/k build.bat), он выполняет сборку. Затем он возвращается к главному, чтобы выполнить остальную часть задачи. Построение занимает очень много времени.

Можно ли начать сборку и вернуться к основному и выполнить некоторые задачи в основном и вернуться к сборке Build.bat?

Спасибо!

ответ

1

Не совсем. Вам нужно извлечь часть вашего основного скрипта, который вы хотите запустить параллельно, вы не можете прыгать назад и вперед.

Main --> build task --> more main 
    --> part of main | 
+0

Умная подпись! Очень круто! – paulsm4

+0

Здравствуйте, Sir, Спасибо за ответ. Могу ли я получить пример. Main.bat запустить CMD/к LABEL1: build.bat Некоторые команды запуска CMD/к LABEL2: build.bat сборки.летучая : Label1 Команда : Label2 Команда Спасибо и наилучшие пожелания, – user2150777

+0

это правильно? – user2150777

0

«Окно команд», вероятно, не является тем словом, которое вы ищете.

Но да, один .bat-файл может вызвать другой, а затем вернуться к первому.

Волшебство использовать ключевое слово "вызов" при вызове ребенка .bat или CMD-файл:

PS:

Если вы делаете я настоятельно рекомендую вам использовать сценарии «Makefile» вместо использования .bat-файлов. IMHO ...

+0

Мы фактически запускаем сборки ant , Я хочу сделать ручную очистку и xcopy и т. Д., Я хочу автоматизировать эти вещи с помощью пакетной обработки. – user2150777

0

Вы можете - в некотором роде.

Настройтесь партию как WAIT4F.BAT

@ECHO OFF 
:: Wait for file %1 
IF "%~1"=="" GOTO :eof 
:loop 
IF NOT EXIST "%~1" choice /t 1 /d y /n >NUL&GOTO loop 

Просто вставьте CALL WAIT4F filename иметь один пакетный ждать, пока другой не создал файл (предположительно, на завершении шага)

Таким образом, партия фиксируется, пока параллельный процесс не выполнит свою задачу, поэтому две (или более!) партии могут запускаться одновременно. Это также имеет то преимущество, что созданный файл может содержать информацию, позволяющую пакетам связываться, например, с уровнями ошибок.

Лично я бы создать файл флаг (SE) (ы) в% TEMP%

И если вы используете предварительно Vista, использовать PING -n 2 127.0.0.1 >nul вместо команды CHOICE (это просто задержка)

Смежные вопросы