Delphi:如何在cmd命令中将变量作为参数

时间:2019-01-17 08:14:23

标签: delphi variables cmd parameters command

而不是传递数字作为参数。我想为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
);

1 个答案:

答案 0 :(得分:1)

如果我已正确理解您的问题,则您正在寻找使用变量组成命令字符串的内容。 您可以通过多种方式来做到这一点,这是一种方式(使用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;