![]() |
![]() |
![]() |
|
Хочу написать bat файл ... | ☑ | ||
---|---|---|---|---|
0
Konst999
30.12.05
✎
09:17
|
Подскажите, у меня есть dos программа для программирования считывателя магнитных карт. В данном устройстве отсутствует память и естественно при каждом выключении компьютера, все параметры сбрасываются. Хочу написать bat файл и вставить его в AUTOEXEC.bat. Но вот проблема, понятно для запуска программы мы прописываем start ... , а далее в программе надо нажимать различные буквы и после них enter, ну, например, A enter, G enter, K enter. Вот теперь ломаю голову как в bat прописать такое чудо.
|
|||
1
romix
модератор
30.12.05
✎
09:18
|
Я писал такую прогу на Турбо Паскале, щас попробую нарыть...
|
|||
2
romix
модератор
30.12.05
✎
09:19
|
Хотя если прокатит попробуй использовать перенаправление ввода
Прога.exe < ФайлССимволами.txt |
|||
3
Ёжик в тумане
30.12.05
✎
09:19
|
(0) Если я правильно понял, то выходит, что ты надеешься пакетным файлом работать внутри интерфейса самой DOS-программы.
|
|||
4
romix
модератор
30.12.05
✎
09:20
|
(3) Я такое для одной глючной досовской кассы делал.
|
|||
5
Konst999
30.12.05
✎
09:22
|
1)Да мне один спец сказал, что можно bat прописать. Но вот его через пару месяцев увижу, а мне сейчас надо.
|
|||
6
Ёжик в тумане
30.12.05
✎
09:22
|
(4) Неужто? Именно за счёт пакетного файла?
|
|||
7
romix
модератор
30.12.05
✎
09:24
|
(6) Если прога стандартная консольная, то там работает "юниксовое" перенаправление консоли как в (2). Если нет, то работает заполнение буфера клавиатуры INT 16.
|
|||
8
Ёжик в тумане
30.12.05
✎
09:25
|
(5) Это всё уместно, если эта дремучая программа поддерживает запуск с ключами. Но про "в программе надо нажимать различные буквы" весьма сомнительно.
|
|||
9
Ёжик в тумане
30.12.05
✎
09:26
|
(7) Причём тут "юникс"?
|
|||
10
Ёжик в тумане
30.12.05
✎
09:26
|
(7) Причём тут "юникс"?
|
|||
11
Ёжик в тумане
30.12.05
✎
09:26
|
Оо.. давно таких глюков не было..
|
|||
12
smaharbA
30.12.05
✎
09:27
|
Могу попробовать решить... тока 5-6 нераньше...
|
|||
13
romix
модератор
30.12.05
✎
09:27
|
(9) При том что MS-DOS частично слизана с юникса. Только слеши в обратную строну повернуты. :-)
|
|||
14
GrayT
30.12.05
✎
09:27
|
(0)Вопрос с похмелья - а что за операционка? Я к вопросу об аутоехес.бат - выполняться будет?
|
|||
15
GrayT
30.12.05
✎
09:27
|
(13)Епнулся чтоль?
|
|||
16
Ёжик в тумане
30.12.05
✎
09:28
|
(13) Уже празднуешь? Или болеешь?
|
|||
17
smaharbA
30.12.05
✎
09:30
|
Могут помоч stdout и stdin, но не факт...
|
|||
18
romix
модератор
30.12.05
✎
09:41
|
(15,16) Читайте букварь
http://education.aspu.ru/view.php?olif=gl7#34 Перенаправление осуществляется с помощью специальных конструкций командного языка. Для указания интерпретатору о необходимости перенаправить стандартный ввод на файл file используется следующая конструкция: < file Для перенаправления стандартного вывода требуется следующая конструкция: > file Например, показанная ниже командная строка запишет данные о содержимом каталога dir2 в файл a.txt: ls dir2 > a.txt Механизм перенаправления ввода-вывода, введенный ОС UNIX, получил широкое распространение в интерпретаторах команд многих операционных систем, например MS-DOS, Windows, OS/2. |
|||
19
GrayT
30.12.05
✎
09:44
|
(18)Это не значит что реализация этого механизма слизана с юникс.
Историю создания ДОС и причину столь широкого распространения достаточно говенной операционнй системы знаешь? |
|||
20
Ёжик в тумане
30.12.05
✎
09:52
|
(18) Ты как обычно спутал тёплое с мягким.
Речь не о передаче текстового ввода/вывода, а о работе внутри интерфейса программы. Самое большее, на что способна подобная программа - анализировать ключи запуска. |
|||
21
Konst999
30.12.05
✎
09:55
|
Что-то ерунда получается: webfile.ru/722202, размер 68 Кбайт.
|
|||
22
romix
модератор
30.12.05
✎
09:55
|
Если (18) не сработает, то потребуется писать в буфер клавиатуры напрямую:
http://pascal.sources.ru/keyboard/keystuff.htm Свою прогу для этого дела я к сожалению не могу найти. Другие люди тоже ее писали: поисковый запрос в Яндекс: "имитация нажатия клавиш в DOS" |
|||
23
smaharbA
30.12.05
✎
10:01
|
вот вариант без ентера
echo y|del *.* когда небыло /q или echo 12:00|time |
|||
24
romix
модератор
30.12.05
✎
10:12
|
(+23) Еще вариант:
del *.* < y.txt А в файле y.txt надо вбить Y и Enter (2 символа) |
|||
25
romix
модератор
30.12.05
✎
10:13
|
К сожалению многие DOS-проги работают не через интерфейс DOS (где работает "юникосовое" перенаправление, а обращаются к BIOS Int 16h напрямую.
|
|||
26
Konst999
30.12.05
✎
10:18
|
23) Что-то не догоняю. Мне надо запустить файл MSR.exe и там нажать клавишу A, S, Q. Делаю start MSR.exe, а дальше что писать? http://webfile.ru/722202
|
|||
27
Konst999
30.12.05
✎
10:21
|
echo a|start MSR.exe
|
|||
28
Konst999
30.12.05
✎
10:22
|
Буквы даже без enter-а
|
|||
29
Konst999
30.12.05
✎
10:49
|
Так срабатывает: echo a|MSR.exe. Но мне еще нужно нажать s и q.
|
|||
30
Konst999
30.12.05
✎
10:50
|
И почему-то виснет USB клавиатура.
|
|||
31
romix
модератор
30.12.05
✎
10:50
|
(29)
Текстовичок создай где есть буквы a s q (в конце - завершающий Enter). MSR.exe < текстовичок.txt |
|||
32
romix
модератор
30.12.05
✎
10:51
|
Сорри если без ентера, то и текстовичок должен быть без ентеров.
Или так: echo asq|MSR.exe |
|||
33
Konst999
30.12.05
✎
10:57
|
Да, с echo asq|MSR.exe получилось. Всем спасибо за помощь. Очень помогли.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |