[batch/bat] try/catch для *.exe
От: gnan  
Дата: 24.11.09 13:57
Оценка:
доброе время суток))
в данный момент пишу автоматическую обновлялку ПО устройства под MS-DOS Version 6.22
вобщем при перезагрузке необходимо проверить корректность работы нового *.exe файла
т.е. требуется что то типа (RunNewExe() и RunOldExe() вымышленные):
try{
  RunNewExe();
}
catch(...){
  RunOldExe();
}


погуглил и накорябал такое (h1.exe 100% рабочий, h2.exe может быть битый):
@echo off
if exist c:\h1.exe goto go1
:go1
if exist c:\h2.exe goto go2
:go2
c:\h2.exe
if errorlevel 0 goto go3
c:\h1.exe
:go3

но вот что то в строке
if errorlevel 0 goto go3
неладное =)

каким образом можно реализовать такое? =)
Re: [batch/bat] try/catch для *.exe
От: quodum  
Дата: 01.12.09 17:20
Оценка:
Здравствуйте, gnan, Вы писали:

G>в данный момент пишу автоматическую обновлялку ПО устройства под MS-DOS Version 6.22

G>вобщем при перезагрузке необходимо проверить корректность работы нового *.exe файла
G>т.е. требуется что то типа (RunNewExe() и RunOldExe() вымышленные):
G>
G>try{
G>  RunNewExe();
G>}
G>catch(...){
G>  RunOldExe();
G>}
G>


MS-DOS Version 6.22... Как-то так?
if not exist new.exe goto skip_new
  new.exe
  if not errorlevel 1 goto done
:skip_new
  old.exe
:done
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.