Batch file 在inno安装程序上完成安装后创建Bat文件
它工作得很好!问题在于,创建蝙蝠时,它不会创建创建蝙蝠的路径 这是我当前的代码:Batch file 在inno安装程序上完成安装后创建Bat文件,batch-file,inno-setup,Batch File,Inno Setup,它工作得很好!问题在于,创建蝙蝠时,它不会创建创建蝙蝠的路径 这是我当前的代码: [Code] function CreateBatch(): boolean; var fileName : string; lines : TArrayOfString; begin Result := true; fileName := ExpandConstant('{pf}\{#MyAppName}\batch.bat'); SetArrayLength(lines, 2); lin
[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,在该位置使用以下代码行创建bat
它应该是这样的,例如:
C:\Program Files\soft21\launcher.exe-g C:\Program Files\soft12\code\Turbo.rpx您应该为行[0]扩展常量值
记住正确的报价
如果您不想在每次安装应用程序时追加批处理,请不要将true用于
[守则]
函数CreateBatch:boolean;
变量
文件名:字符串;
线条:柏油纹;
开始
//目录测试
如果不是DirExistsExpandConstant“{userdesktop}\{MyAppName}”,则开始
CreateDirExpandConstant“{userdesktop}\{MyAppName}”;
终止
//直接端测试
文件名:=ExpandConstant'{userdesktop}\{MyAppName}\batch.bat';
设置阵列长度,2;
行[0]:=ExpandConstant'{pf}\{MyAppName}\soft21\launcher.exe-g{pf}\{MyAppName}\soft\code\Turbo.rpx';
行[1]:=“退出”;
结果:=saveStringsToFileFileFileName,行,true;
终止
过程CurStepChangedCurStep:TSetupStep;
开始
如果CurStep=ssPostInstall,则
开始
创建批处理;
终止
终止
您应该为行[0]扩展常量值
记住正确的报价
如果您不想在每次安装应用程序时追加批处理,请不要将true用于
[守则]
函数CreateBatch:boolean;
变量
文件名:字符串;
线条:柏油纹;
开始
//目录测试
如果不是DirExistsExpandConstant“{userdesktop}\{MyAppName}”,则开始
CreateDirExpandConstant“{userdesktop}\{MyAppName}”;
终止
//直接端测试
文件名:=ExpandConstant'{userdesktop}\{MyAppName}\batch.bat';
设置阵列长度,2;
行[0]:=ExpandConstant'{pf}\{MyAppName}\soft21\launcher.exe-g{pf}\{MyAppName}\soft\code\Turbo.rpx';
行[1]:=“退出”;
结果:=saveStringsToFileFileFileName,行,true;
终止
过程CurStepChangedCurStep:TSetupStep;
开始
如果CurStep=ssPostInstall,则
开始
创建批处理;
终止
终止
可能是因为您没有为[0]行扩展常量?谢谢您现在的工作!但我还有一个问题,请在下面的另一个答案中查看。可能是因为您没有为[0]行展开常数?谢谢您现在的工作!但是我有另一个问题,看看下面的另一个答案。它现在工作了!但是我有一个新的问题,当我选择另一个不是程序文件的路径时,bat不是创建的DAS SaveStringsToFile不创建目录。在这种情况下,您必须检查DirExists,如果不存在,则创建这样的Dir。示例添加。它现在可以工作了!但是我有一个新的问题,当我选择另一个不是程序文件的路径时,bat不是创建的DAS SaveStringsToFile不创建目录。在这种情况下,您必须检查DirExists,如果不存在,则创建这样的Dir。添加了示例。