0 / 0 / 0
Регистрация: 08.08.2016
Сообщений: 10
1

Запуск .bat файла и вывод текста из cmd окна

05.01.2017, 20:26. Показов 1813. Ответов 3
Метки нет (Все метки)

Доброго времени суток!
Возник такой вопрос:
1. Как запустить .bat файл, а потом в delphi, например в memo выводить данные которые будут появляться в cmd окне.
2. И ещё например выполнять в этом окне команду которая, например, будет прописана в edit

На сколько я знаю запустить можно так:
Delphi
1
ShellExecute(Handle, 'open', 'start.bat', nil, nil, SW_SHOWNORMAL);
Текст, который в bat файле:

@echo off
java -jar server.jar
pause


Зарание всем спасибо.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.01.2017, 20:26
Ответы с готовыми решениями:

Запуск cmd из bat-файла c другим приглашением
Доброго времени суток. Я пытаюсь создать bat-файл, при помощи которого я мог бы открывать командную...

Запуск bat файла или команды в CMD, не выходит
Нужно настроить маршрутизацию, пробовал создавать bat файл, а потом его запускать. Файл создается...

Запуск cmd файла с определенного места в его коде из другого cmd файла
Здравствуйте. Требуется команда для запуска батника с метки внутри него, а не с первой команды в...

Запуск файла в директории с .bat, когда .bat запущен от имени администратора
Здравствуйте. Имею бат, он должен запускать файл "<тут директория батника>\n1.bat". Но если даже...

3
Эксперт Pascal/Delphi
4749 / 2726 / 843
Регистрация: 04.10.2012
Сообщений: 9,954
05.01.2017, 21:02 2
Цитата Сообщение от -fill0s- Посмотреть сообщение
в delphi, например в memo выводить данные которые будут появляться в cmd окне
Capture Console Output Realtime To Memo

Цитата Сообщение от -fill0s- Посмотреть сообщение
Зарание всем спасибо
Пожалуйста

Не по теме:

Заходите еще! "Ключ под тазиком" (с)

1
0 / 0 / 0
Регистрация: 08.08.2016
Сообщений: 10
05.01.2017, 21:38  [ТС] 3
Цитата Сообщение от droider Посмотреть сообщение
Capture Console Output Realtime To Memo
Вообще не въехал в эту функцию

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
procedure CaptureConsoleOutput(const ACommand, AParameters: String; AMemo: TMemo);
 const
   CReadBuffer = 2400;
 var
   saSecurity: TSecurityAttributes;
   hRead: THandle;
   hWrite: THandle;
   suiStartup: TStartupInfo;
   piProcess: TProcessInformation;
   pBuffer: array[0..CReadBuffer] of Char;
   dRead: DWord;
   dRunning: DWord;
 begin
   saSecurity.nLength := SizeOf(TSecurityAttributes);
   saSecurity.bInheritHandle := True;  
   saSecurity.lpSecurityDescriptor := nil; 
 
   if CreatePipe(hRead, hWrite, @saSecurity, 0) then
   begin    
     FillChar(suiStartup, SizeOf(TStartupInfo), #0);
     suiStartup.cb := SizeOf(TStartupInfo);
     suiStartup.hStdInput := hRead;
     suiStartup.hStdOutput := hWrite;
     suiStartup.hStdError := hWrite;
     suiStartup.dwFlags := STARTF_USESTDHANDLES or STARTF_USESHOWWINDOW;    
     suiStartup.wShowWindow := SW_HIDE; 
 
     if CreateProcess(nil, PChar(ACommand + ' ' + AParameters), @saSecurity,
       @saSecurity, True, NORMAL_PRIORITY_CLASS, nil, nil, suiStartup, piProcess)
       then
     begin
       repeat
         dRunning  := WaitForSingleObject(piProcess.hProcess, 100);        
         Application.ProcessMessages(); 
         repeat
           dRead := 0;
           ReadFile(hRead, pBuffer[0], CReadBuffer, dRead, nil);          
           pBuffer[dRead] := #0; 
 
           OemToAnsi(pBuffer, pBuffer);
           AMemo.Lines.Add(String(pBuffer));
         until (dRead < CReadBuffer);      
       until (dRunning <> WAIT_TIMEOUT);
       CloseHandle(piProcess.hProcess);
       CloseHandle(piProcess.hThread);    
     end; 
 
     CloseHandle(hRead);
     CloseHandle(hWrite);
   end;
end;
Пожалуйста, объясни чайнику как её применить

Код bat файла

@echo off
java -jar server.jar
pause
0
81 / 81 / 39
Регистрация: 17.02.2016
Сообщений: 464
05.01.2017, 22:25 4
CaptureConsoleOutput('java','-jar server.jar',memo1); читайте учебник ....
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.01.2017, 22:25

Последовательный запуск нескольких параллельных bat файлов из bat файла
Добрый день! Есть 6 bat файлов. Необходимо запустить 2 последовательных вызова запуска 3...

Последовательный запуск нескольких BAT-файлов из основного BAT-файла
Доброго времени суток всем... Помогите кто понимает.. Есть bat... @echo off start &quot;&quot; &quot;D:\$\Pale...

Batch (CMD/BAT) несколько заданий на CMD/BAT
1.Напишите bat файл на диске с ,который будет искать на всех дисках файлы с расширением...

Вывод текста в окне и запуск Java файла на платформах
import javax.swing.*; public class main { public static void main(String args) { JFrame Game =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.