You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从批处理文件传递参数到Delphi控制台程序并接收打印?

Delphi控制台程序接收命令行参数实现方法

Delphi 内置了两个原生函数可直接处理命令行参数,无需额外引入依赖:

  • ParamCount:返回用户传入的参数总数(不包含程序自身路径信息)
  • ParamStr(索引):返回指定位置的参数内容,索引从0开始,ParamStr(0)固定为当前程序的完整路径,用户传入的第一个参数对应索引1

你可以直接按照以下逻辑补全你的代码框架:

// 先判断是否有参数传入,避免索引越界
if ParamCount >= 1 then
begin
  // 取第一个传入的参数打印,你批处理中传入的-myparamater就会在这里输出
  WriteLn(ParamStr(1));
end
else
begin
  WriteLn('未检测到传入参数');
end;

如果需要打印所有传入的参数,可以用遍历的方式实现,以下是完整可运行的控制台程序示例:

program ReceiveParams;

{$APPTYPE CONSOLE}
{$R *.res}

uses
  System.SysUtils;

var
  i: Integer;
begin
  try
    Writeln('传入参数总个数:', ParamCount);
    for i := 1 to ParamCount do
    begin
      Writeln('第', i, '个参数:', ParamStr(i));
    end;
    // 不需要停留控制台可以删掉下面这行
    Readln;
  except
    on E: Exception do
      Writeln('程序异常:', E.Message);
  end;
end.

注意:如果你的参数包含空格,需要在批处理中用双引号包裹参数内容,比如:
executable.exe "带空格的参数内容"
这样Delphi会把双引号内的内容识别为单个参数,不会被拆分成多个参数处理。

内容的提问来源于stack exchange,提问作者Maik Hasler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 18:51:00