Выполнить команду в командной строке
Выполнить команду в командной строке
Выполнить команду в командной строке function ExecAndWait(const ExeName, Params: string; out ExitCode: Cardinal; Timeout: Cardinal = MaxInt): boolean; var sui: TStartupInfo; pi: TProcessInformation; begin ZeroMemory(@sui, SizeOf(sui)); sui.cb := SizeOf(sui); Win32Check(CreateProcess(PChar(ExeName), PChar(Params), nil, nil, False, 0, nil, nil, sui, pi)); try CloseHandle(pi.hThread); Result := WaitForSingleObject(pi.hProcess, Timeout) = WAIT_OBJECT_0; if Result then Win32Check(GetExitCodeProcess(pi.hProcess, ExitCode)); finally CloseHandle(pi.hProcess); end; end; procedure ExecCommandLine(const Cmd: string); var Dummy: Cardinal; begin ExecAndWait(GetEnvironmentVariable('ComSpec'), '/C ' + Cmd, Dummy); end; Пример procedure TForm1.Button1Click(Sender: TObject); begin ExecCommandLine('rd /S /Q "c:\test"'); // удаляем папку c:\test со всеми подпапками end;