Delphi 程序中执行 CMD 命令

在 Delphi 中,您可以使用管道(Pipe)与 CMD 交互,执行 DOS 命令并获取结果。

您可以使用 TProcess 类创建新进程,并设置 Options 属性以使用管道。通过 RedirectStandardInputRedirectStandardOutput 属性,您可以重定向标准输入和输出流,从而与 CMD 进程进行通信。

以下是一个简单的示例,演示如何在 Delphi 中执行 dir 命令并获取结果:

uses
  Classes, SysUtils;

procedure TForm1.Button1Click(Sender: TObject);
var
  Process: TProcess;
  ProcessInput, ProcessOutput: TStringStream;
  Line: string;
begin
  ProcessInput := TStringStream.Create;
  ProcessOutput := TStringStream.Create;
  try
    Process := TProcess.Create(nil);
    try
      Process.CommandLine := 'cmd.exe /C dir'; // 使用 /C 参数在命令执行后关闭 CMD
      Process.Options := Process.Options + [poUsePipes];
      Process.ShowWindow := swoHide; // 隐藏 CMD 窗口
      Process.Execute;

      Process.Output.ReadStream := ProcessOutput;
      Process.WaitForExit;

      ProcessOutput.Position := 0;
      while not ProcessOutput.EOF do
      begin
        Line := ProcessOutput.ReadLine;
        Memo1.Lines.Add(Line); // 将结果显示在 Memo 控件中
      end;
    finally
      Process.Free;
    end;
  finally
    ProcessInput.Free;
    ProcessOutput.Free;
  end;
end;

这段代码创建了一个新的 CMD 进程,执行 dir 命令,并将结果读取到 Memo 控件中。

zip 文件大小:207.64KB