Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.25;
Скачать: CL | DM;

Вниз

Может кто помнит как bat-файлы писать?   Найти похожие ветки 

 
}|{yk ©   (2004-03-31 15:15) [0]

т.е. задать вопрос, в зависимости от ответа запустить или один сценарий, или другой?


 
Труп Васи Доброго ©   (2004-03-31 15:18) [1]

Ну ты спросил!!!
Я уж забыл напроч...
Что-то вроде IF ERRORLEVEL..бла,бла,бла
Вот позор, забыл. :(((


 
panov ©   (2004-03-31 15:23) [2]

Смотря для какой операционной системы.


 
panov ©   (2004-03-31 15:24) [3]

Для DOS,W95-W98 - choice
Для NT4 - не помню.
Для W2000 - не знаю такой команды


 
Delirium ©   (2004-03-31 15:27) [4]

ERRORLEVEL - досовская системная переменная, ей передаётся значение ExitCode последнего завершённого процесса, из паскаля делалось так Halt(10).


 
IronHawk ©   (2004-03-31 15:31) [5]

Вообщето, меню лобается в конфиге, а не автоекзеке...


 
Vovchik_A ©   (2004-03-31 15:45) [6]

Ну метками еще можно попробовать


 
panov ©   (2004-03-31 15:53) [7]

Вот консольное приложения для этих целей:

program Q;
//Формат:
//Q <Вопрос> <Список символов через запятую>
//Возврат: Номер выбранного символа по порядку, начиная с 1

{$APPTYPE CONSOLE}

uses
 windows;
//  SysUtils;

function W2D(const s: String): String;
begin
 Result := s;
 CharToOem(PChar(Result),PChar(Result));
end;

procedure wr(const s: String);
begin
 Write(W2D(s));
end;

const CR=Chr(13)+Chr(10);
var
 s: String;
 i: Integer;

label Cycle;

begin
 If ParamCount<2 then
 begin
   ExitCode := 0;
   Exit;
 end;
 
Cycle:
 s := ParamStr(1);
 Wr(s+"? ("+ParamStr(2)+"):");
 ReadLn(s);
 for i := 0 to Length(ParamStr(2))-1 do
 begin
   if s[1]=ParamStr(2)[i*2+1] then
   begin
     ExitCode := i+1;
     Exit;
   end;
 end;
 goto Cycle;
end.


 
panov ©   (2004-03-31 16:03) [8]

Пример использования в .bat или .cmd-файле:
@echo off
Q Тест y,n,a
if errorlevel 3 goto Abort
if errorlevel 2 goto Cancel
if errorlevel 1 goto Ok
goto end

:Abort
echo хм...
goto end

:Cancel
echo однако...
goto end;

:Ok
echo два раза Q
goto end

:end


 
han_malign ©   (2004-03-31 16:45) [9]

w2k/XP

c:\>if /?[enter]

...............
goto answer%ERRORLEVEL%
:answer0
echo Program had return code 0
:answer1
echo Program had return code 1
..............


 
Brahman ©   (2004-03-31 17:50) [10]

Вообще-то у Микрософт, для поддержки системного программирования, давно существует сервер WSH и  языки JS,VBS на win платформах.


 
}|{yk ©   (2004-03-31 18:26) [11]

а где примеры помотреть, не подскажете? И они настолько же устойчивы как и bat?


 
panov ©   (2004-03-31 18:40) [12]

>}|{yk ©   (31.03.04 18:26) [11]

а где примеры помотреть, не подскажете? И они настолько же устойчивы как и bat

Если что-то простое сделать и универсальное - используй командный процессор.

А почитать - yandex:Windows script host



Страницы: 1 вся ветка

Текущий архив: 2004.04.25;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.021 c
1-1081159093
Checist [root]
2004-04-05 13:58
2004.04.25
Вытащить сылку из .lnk файла


4-1077807916
Islander
2004-02-26 18:05
2004.04.25
Проблемы с WM_SYSCOMMAND


1-1081161716
wer
2004-04-05 14:41
2004.04.25
Отчёт


6-1074853790
jcrush
2004-01-23 13:29
2004.04.25
Тормозит прога, потоки....


14-1080795363
Иксик
2004-04-01 08:56
2004.04.25
Как меня сегодня кинули!!! И главное с утра пораньше.