首页 > 解决方案 > 文件复制后运行 Windows 命令

问题描述

我想在最后将文件(用户提供的输入)复制到安装的文件夹中。我相信这个命令会起作用 -

Filename: "cmd.exe"; Parameters: "cp {code:GetClientPrivatePEM} {code:GetServerPublicPEM} ."; WorkingDir: "{app}\trust"; Flags: 

但它不会复制并被卡住。但是,我可以在日志中看到输出。语法有问题吗?我该如何解决?

可能出现的一个问题是 {code:GetClientPrivatePEM} 或 {code:GetServerPublicPEM} 是否有空间。我该如何处理?(当前输入没有空间)

我想到的另一种复制方式是——

[Files]
 Source: "C:\Users\pnarendr\Desktop\API_DAST\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
;Source: "C:\Users\pnarendr\Desktop\output.log"; DestDir: "{code:GetPythonHome}";
Source: "{code:GetServerPublicPEM}"; DestDir: "{app}\trust"; Flags: external ignoreversion recursesubdirs createallsubdirs
Source: "{code:GetClientPrivatePEM}"; DestDir: "{app}\trust"; Flags: external ignoreversion recursesubdirs createallsubdirs

但这表示 {code:GetServerPublicPEM} 是可访问的。不知道如何

标签: inno-setup

解决方案


函数中的问题 - GetServerPublicPEM. 如果未分配页面,请发送默认值。例子

function GetUserID(Param: String) : string;
begin
  if Assigned(InputValuesPage) then
    Result := InputValuesPage.Values[3]
  else
    Result := '';
end;

推荐阅读