Автоматизация ввода данных в DOS приложениях

jgimi

ОС: Win XP
Есть несколько древних DOS приложений для расчета специализированных задач, и эти приложения никто не собирается переписывыть.
Для решения задачи нужно вести большое количество однотипных данных, ввод осуществляется вручную с клавиатуры. Все данные заранее известны, можно составить файлик со всем необходимым и скормить его проге, вот только не могу понять как это сделать.
Иногда прога задумывается и желательно между вводом следующей порции данных сделать небольшую паузу (0.5-1 сек).
Помимо этого желательно автоматизировать и вывод того, что в результате появляется на экране.
Подскажите, в какую сторону копать, просто у меня не так много свободного времени, чтобы вникать в тонкости DOS-а.

Helga87

http://www.wintask.com/onlinehelp/Dos_box_how_to_automate.ht... — кажется надо рыть в сторону dosbox automation

vall

программ-автоматизаторов под винду пруд пруди. какой-нить из них наверно и умеет то что тебе нужно.

ms_nadin

Это консольные программы или нет?

dsl-san1

Вариант 1 - редирект stdin:
Например, пишем файл input.txt

interface
ipv6

Запускаем:
В cmd:

netsh < input.txt

В powershell:

get-content input.txt | netsh

Вариант 2 - эмуляция нажатий клавиатуры. Вот пример в powershell (http://technet.microsoft.com/en-us/library/ff731008.aspx):

[void] [System.Reflection.Assembly]::LoadWithPartialName("'Microsoft.VisualBasic")
[Microsoft.VisualBasic.Interaction]::AppActivate("Test.ps1 - Notepad")

[void] [System.Reflection.Assembly]::LoadWithPartialName("'System.Windows.Forms")
[System.Windows.Forms.SendKeys]::SendWait("ABCDEFGHIJKLM")

Первый блок активирует окно с заданным именем, второй посылает в активное окно нажатия клавиш. Таблица спецклавиш есть по ссылке.
Оставить комментарий
Имя или ник:
Комментарий: