![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ретро вопрос. :) [D6, 95/98]
DROWSY © (2006-10-17 23:05:00)BAT- файл:
First.exe
???
Second.exe
??? - что тут должно написать, чтобы Second запускалась, когда
First гарантированно завершила работу??
ДьяволСД (2006-10-18 08:22:00) [1]а про опетатор call забыли?
call first.exe
second.exe
Пока не выполнится первое второе не запустится (Хотя немного подзабыл, могу ошибатся :) )
vegarulez (2006-10-18 08:07:00) [2]))) Хы.. зачем считать... то? Не проше усыпить коректно процесс нежели гонять процессор ненужным счётом????
@echo off
ProcServ.exe -s InterBaseServer
if errorlevel 1 goto SG
goto End
:IBG
echo InterBase Guardian ShutDown Retry ...
pause
:SG
ProcServ.exe ?p ibguard.exe
if errorlevel 1 goto SS
ProcServ.exe -p ibguard.exe
if errorlevel 1 goto IBG
goto SS
:IBS
echo InterBase Server ShutDown Retry ...
pause
:SS
ProcServ.exe ?p ibserver.exe
if errorlevel 1 goto End
ProcServ.exe -p ibserver.exe
if errorlevel 1 goto IBS
:End
Вот маленький пример bat файла, которым у нас делается стоп IB
Ты реализуй таким же макаром....
С проверкой.
А поводу спячки на какое-то время есть маленькая прога wait.exe на паскале (под делф компильнули поэтому много весит 5,37 кб). можно скачать здесь: http://slil.ru/23266500
В неё передаётся время в секундах из того процесса который нужно усыпить... wait.exe 30
например выполнение bat файла
@echo off
cls
ProcServ.exe +s IBG_gds_db
if errorlevel 1 goto SG
goto End
:IBG
echo InterBase Guardian Starting Retry ...
echo path %1 not found or other OS Windows problem
pause
:SG
ProcServ.exe +p %1
if errorlevel 1 goto IBG
:End
@echo off
wait.exe 30
ProcServ.exe +s IBG_gds_db
if errorlevel 1 goto SG1
goto End1
:IBG1
echo InterBase Guardian Starting Retry ...
echo path %1 not found or other OS Windows problem
pause
:SG1
ProcServ.exe +p %1
if errorlevel 1 goto IBG1
:End1
RASkov (2006-10-18 02:14:00) [3]Ну вот как вариант:
счетчик t можно установить по "вкусу"
<begin bat>
@echo on
@set i=0
@set t=1000
@if not exist Bib.dll extract.exe Bib.cab
:a
@set /a i=i+1
@if %i%==%t% goto nepoluchilos
@if not exist Bid.dll goto a
@set SysDir=%windir%\system
@if "%OS%"=="Windows_NT" set SysDir=%SysDir%32
@%sysdir%\regsvr32.exe /S Bib.dll
@goto end
: nepoluchilos
echo не получилось попробуйте еще раз
:end
<end bat>
:)))
можно есче ко времени привезаться т.е. делать минуту и выходить
или [13]
guav (2006-10-18 00:07:00) [4]
start /wait extract.exe Bib.cab
start /wait regsvr32.exe /S Bib.dll
и вообще - зачем писать батник, если можно exeшник написать, тогда никакие extract.exe и regsvr32.exe не будут нужны.
DROWSY (2006-10-18 00:04:00) [5]Я пробовал разнести распаковку и регистрацию в разные бат-файлы и
запускать их последовательно: результат тот-же...
RASkov (2006-10-18 00:01:00) [6]> [8] DROWSY © (17.10.06 23:57)
Сейчас ченить помудрю, если что напишу.
DROWSY (2006-10-17 23:59:00) [7]
> RASkov (17.10.06 23:54) [7]
> Ну здесь может зациклится на вечно.
вот-вот.
RASkov (2006-10-17 23:59:00) [8]Вместо A: надо :А ну это понятно (спутал с паскалем:)
DROWSY (2006-10-17 23:57:00) [9]А что будет, если произойдёт ошибка распаковки?
Висяк не наступит?
RASkov (2006-10-17 23:54:00) [10]Ну здесь может зациклится на вечно.
RASkov (2006-10-17 23:53:00) [11]Может так тогда:
@echo on
if not exist Bib.dll extract.exe Bib.cab
A:
if not exist Bib.dll goto a
DROWSY (2006-10-17 23:49:00) [12]@echo on
if not exist Bib.dll extract.exe Bib.cab
set SysDir=%windir%\system
if "%OS%"=="Windows_NT" set SysDir=%SysDir%32
%sysdir%\regsvr32.exe /S Bib.dll
В Вib.cab упакован Bib.dll
Распаковка не успевает закончиться, и regsrv ругается, что Bib.dll не найден.
guav (2006-10-17 23:29:00) [13]если "ретро" - то дос был однозадачным, ничего не надо для досовских прог особое делать.
в windows - start /wait
см start /?
RASkov (2006-10-17 23:26:00) [14]Или так сделай
<Run.bat>
First.exe
pаuse нажмите любую кнопку для запуска второй проги
Second.exe
<end file>
RASkov (2006-10-17 23:25:00) [15]А что за программы First.exe и Second.exe?
Да в любом случае вроде так и должно быть для "стандартных прог"
<Run.bat>
First.exe
Second.exe
<end file>
RASkov (2006-10-17 23:21:00) [16]Да ниче ненадо они и так по очереди выполнятся