gpt4 book ai didi

batch-file - 在 inno setup 上完成安装后创建一个 Bat 文件

转载 作者:行者123 更新时间:2023-12-02 03:24:53 25 4
gpt4 key购买 nike

效果很好!问题是,在创建 bat 时,它不会创建创建它的路径。

这是我当前的代码:

[Code]
function CreateBatch(): boolean;
var
fileName : string;
lines : TArrayOfString;
begin
Result := true;
fileName := ExpandConstant('{pf}\{#MyAppName}\batch.bat');
SetArrayLength(lines, 2);
lines[0] := '{pf}\{#MyAppName}\soft21\launcher.exe" -g "{pf}\{#MyAppName}\soft\code\Turbo.rpx';
lines[2] := 'exit';
Result := SaveStringsToFile(filename,lines,true);
exit;
end;

procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep=ssPostInstall then
begin
CreateBatch();
end

我需要的是使用以下代码行创建 bat 的当前位置。

它应该是这样的,例如:

"C:\Program Files\soft21\launcher.exe"-g "C:\Program Files\soft12\code\Turbo.rpx"

最佳答案

您应该为 lines[0] 设置 ExpandConstant 值。

记住正确的引语。

如果您不想在每次安装应用程序时都附加批处理,请不要对 SaveStringsToFile 使用 true .

[Code]
function CreateBatch(): boolean;
var
fileName : string;
lines : TArrayOfString;
begin
//test for directory
if not DirExists(ExpandConstant('{userdesktop}\{#MyAppName}')) then begin
CreateDir(ExpandConstant('{userdesktop}\{#MyAppName}'));
end;
//test for dir end
fileName := ExpandConstant('{userdesktop}\{#MyAppName}\batch.bat');
SetArrayLength(lines, 2);
lines[0] := ExpandConstant('"{pf}\{#MyAppName}\soft21\launcher.exe" -g "{pf}\{#MyAppName}\soft\code\Turbo.rpx"');
lines[1] := 'exit';
Result := SaveStringsToFile(filename,lines,true);
end;

procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep=ssPostInstall then
begin
CreateBatch();
end
end;

关于batch-file - 在 inno setup 上完成安装后创建一个 Bat 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53675442/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com