【问题标题】:Delphi: How to give variables as parameter in a cmd commandDelphi:如何在cmd命令中将变量作为参数
【发布时间】:2019-06-11 09:29:44
【问题描述】:

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

【问题讨论】:

  • + 运算符绝对适用于 string 连接。
  • 使用合适的工具 CreateProcess 会更有意义
  • “它没有用”不是一个有用的问题描述。你肯定能做得更好吗?

标签: delphi variables cmd parameters command


【解决方案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;

【讨论】:

  • @coder007:好的,如果有帮助,请告诉我们并accept the answer
  • 我在 PChar 中放了一个字符串。但它仍然不起作用。 ShellExecute(Application.handle, 'open', 'cmd.exe', PChar(string), nil, SW_show);
  • @coder007 请编辑您的问题以包含不适合您的代码。你是如何建立你传递的string 的?
  • 对“它仍然不起作用”的唯一答案是“适合什么不起作用”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-14
  • 2012-11-07
  • 1970-01-01
  • 2021-11-21
  • 2013-02-02
  • 2019-08-09
相关资源
最近更新 更多