Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];

Вниз

Может кто помнит как 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.044 c
8-1074095091
Profi
2004-01-14 18:44
2004.04.25
Секунды трека


3-1080472821
Крутыш
2004-03-28 15:20
2004.04.25
как грамотно организовать партионный учёт на складе


1-1081594405
XXXXXXXXXXX
2004-04-10 14:53
2004.04.25
Работа с Файлами больших размеров ()


1-1081108875
Mishenka
2004-04-05 00:01
2004.04.25
Пункты MainMenu


1-1081341459
Questioner
2004-04-07 16:37
2004.04.25
Изменение стиля окна TWebBrowser..





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский