Delphi:如何在cmd命令中指定变量作为参数
而不是将数字作为参数传递。我想为IP地址传递一个变量。我该怎么做? 我已经试过+运算符,但它不起作用Delphi:如何在cmd命令中指定变量作为参数,delphi,variables,cmd,parameters,command,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 )
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
);
如果我正确理解了您的问题,那么您正在寻找使用变量组合命令字符串的方法。 您可以通过多种方式实现,这是一种(使用函数):
+
运算符肯定适用于字符串连接。如果使用CreateProcess更有意义,那么用于作业的正确工具“it't not worked”不是一个有用的问题描述。你肯定能做得更好吗?@coder007:好的,让我们知道,如果有帮助的话,我已经在PChar中设置了一个字符串。但它仍然不起作用。ShellExecute(Application.handle,'open','cmd.exe',PChar(字符串),nil,SW_show)@coder007请编辑您的问题,以包含不适用于您的代码。你是如何建立你传递的字符串的?
“它仍然不起作用”的唯一答案是“适合那些不起作用的”。
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;