Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Автоматизация выполнения программы

Ответить
Настройки темы
CMD/BAT - Автоматизация выполнения программы

Новый участник


Сообщения: 1
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Доброго времени суток Дорогие Форумчане,

Проблема следующая: есть программа, которая открывается через консоль и в последствии выводит в консоль некоторый текст. После того как она выводит этот текст она требует нажать Enter чтобы закрыться.
Мне нужно сохранять выводимый ею текст в .txt файл, для этого я воспользовался следующим синтаксисом
Код: Выделить весь код
programma.exe  > log.txt
Далее я создал .bat с этой командой и планировал поставить ее в запуск по расписанию, т.к. нужно, чтобы программа запускалась и сохраняла этот текст в лог без меня в определенные моменты.
НО! Пока я сам в открывшемся окне не нажму тот самый злосчастный Enter программа не закрывается и не сохраняет текст в .txt, а сам я нажимать Enter не смогу, т.к. меня просто не будет у компьютера в этот момент.
Отсюда вопрос(ы):

Как научить .bat файл самому нажимать Enter
или
Как сохранять текст в из командной строки в .txt фал без >
или
Как без стороннего софта создать скрип нажимающий Enter для конкретно этого процесса "programma.exe"

Да, и реализовать это все хотелось бы используя минимум стороннего софта.

Заранее спасибо!

Отправлено: 01:02, 25-08-2016

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата peaceduke243@vk:
есть программа »
Назовите её, если есть ссылка на загрузку — приведите. Если можете её выложить — упакуйте в архив и выложите.

Цитата peaceduke243@vk:
Как научить .bat файл самому нажимать Enter »
Вообще-то никак. Если же там на самом деле ожидается не нажатие Enter, а простое ожидание ввода строки со stdin — можете попробовать так:
Код: Выделить весь код
echo. | >"log.txt" programma.exe

Отправлено: 01:33, 25-08-2016 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Contributor


Сообщения: 2708
Благодарности: 1684

Профиль | Отправить PM | Цитировать


Как научить .bat файл самому нажимать Enter - вообще-то никак. Но попробуйте vbs-скрипт.
Код: Выделить весь код
ProgaName = "C:\WINDOWS\system32\CMD.exe /A /C ""Echo %Date% %Time% >>log.txt &Pause &Echo kuku &Pause"""        ' Полный путь к программе

Set WS = CreateObject("WScript.Shell")
theProga = WS.Run(ProgaName,1,false)        ' Запустим программу

WScript.Sleep (5000)                     ' Ждем 5 секунд

WS.SendKeys ("{ENTER}")                     ' Пошлём ENTER
Здесь в качестве примера программы я взял стандартный CMD. Командная строка в параметрах этой программы пишет в лог дату и время и выходит на паузу. Далее скрипт посылает Enter для продолжения работы и далее CMD выдаёт эхо kuku на экран и выходит на паузу- я сделал так, чтобы убедится что программа работает. Задержка (у меня 5 сек) перед посылкой Enter необходима, чтобы дать программе загрузиться.
Вам повидимому вместо Echo %Date% %Time% надо поставить свою прогу, а &Pause &Echo kuku &Pause удалить. Не буду есть свою шляпу, если не заработает с Вашей прогой, я её не тестировал.
Мой пример работает.

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:55, 25-08-2016 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Автоматизация выполнения программы

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - Планировщик в 8ке скрывает весь процесс выполнения программы. i-Lex Microsoft Windows 8 и 8.1 0 18-01-2015 20:02
Заблокировать выполнения программы на терминальном сервере Wsador Microsoft Windows NT/2000/2003 4 10-05-2013 00:06
Эмуляция постоянной среды выполнения программы rsod Хочу все знать 2 20-09-2011 22:19
VBA - скорость выполнения программы иоанн Программирование и базы данных 6 30-05-2009 13:05
Недостаточно памяти для выполнения данной программы (!) Dezz Microsoft Windows 95/98/Me (архив) 8 20-01-2005 07:48




 
Переход