首页 > 解决方案 > Delphi:如何在cmd命令中将变量作为参数

问题描述

而不是传递一个数字作为参数。我想为 IP 地址传递一个变量。我怎样才能做到这一点?我已经尝试过 + 运算符,但没有奏效。

ShellExecute(
    Application.handle, 
    'open', 
    'cmd.exe', 
    PChar('/c "mysqldump -h 192.168.100.1 -uroot database table > C:/Users/user1/Desktop/export.sql"'), 
    nil, 
    SW_show
);

标签: delphivariablescmdparameterscommand

解决方案


如果我正确理解了您的问题,那么您正在寻找使用变量组成命令字符串的东西。您可以通过多种方式做到这一点,这是一种(使用该Format功能):

var
  IPAddress : string;
begin
  IPAddress := '192.168.100.1';

  ShellExecute(
    Application.Handle,
    'open',
    'cmd.exe',
    PChar(Format('/c "mysqldump -h %s -uroot database table > C:/Users/user1/Desktop/export.sql"', [IPAddress])),
    nil,
    SW_SHOW
  );
end;

推荐阅读