Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: WinAPI и системное программирование > соединение БАТ файлов |
Автор: Max111 2.5.2007, 10:34 |
Доброе утро Есть программный комплекс который практически весь состоит из бат файлов Мне Необходимо переделать их в один исполняемый модуль но к сожелению совершенно забыл механизм работы БАТ файлов, поэтому очень хотелось бы получить помощь по следующему вопросу Фрагмент первого БАТ @cd %hitVersion% @call hit.bat @cd .. hit.bat представляет из себя вызов исполняемой программы для загрузки базы wtxtcl hitLoad.tcl Теперь вопрос 1: Когда первый бат доходит до строки @call hit.bat он вызывает батник hit.bat и находиться в состоянии ожидания пока второй батник не завершится или он (первый) продолжает свою работу дальше ? Теперь вопрос 2: Когда вызвался второй батник он ожидает завершения выполнения программы wtxtcl или вызывает ее и продолжает свою работу? То есть какой механизм вызова других exe и bat файлов из бат файла Бат файл останавливает свою работу и ждет завершения вызванного приложения? Бат файл не останавливает свою работу и вызвав другое приложение продолжает свое выполнение? Заранее спасибо |
Автор: Snowy 2.5.2007, 12:19 |
call вызывает другой батник, ждёт его завершения, продолжает работу. Если батник вызывается напрямую (без call), работа текущего батника завершается. При вызове exe происходит ожидание его завершения и работа батника продолжается. Код завершения exe доступен через ERRORLEVEL. |
Автор: ama_kid 2.5.2007, 12:26 | ||
А что, разве во времена DOS (когда были изобретены пакетные файлы) было понятие "многопоточности"? Имхо даже по этому соображению можно было бы утверждать, что батник ждет исполнения предыдущей команды... А если учесть, что в батнике есть спецпеременная %ErrorLevel%, которая хранит значение кода возврата последней исполнявшейся программы - тогда можно уже утверждать тоже самое с большой долей уверенности ![]()
Ты не увидишь надпись "Press any key to continue..." до того, как введешь exit в командном интерпретаторе, что говорит о том, что выполнение идет последовательно... Для вызова другого батника - все аналогично... |
Автор: Yanis 2.5.2007, 15:53 |
ama_kid Это ты можешь так рассуждать. Поэтому ты и не заедаешь таких вопросов. А другие не могут… к большому сожалению. |