0

我想在编译 NSIS 脚本之前运行一个批处理。

我找到了 execWait。这将在安装我的应用程序时启动批处理文件。

我也试过 !execute 'batch.bat' 但编译时出现错误。

这是我的批处理文件的内容:

@echo off
@type file.txt > destination.txt
@echo. >> destination.txt
@svnversion.exe >> destination.txt

1.更新

这是我放在我的 nsi 文件中的内容,但它不起作用。

!tempfile BAT
!appendfile "${BAT}.cmd" "@echo off$\r$\n"
!appendfile "${BAT}.cmd" "@type file.txt > destination.txt$\r$\n"
!appendfile "${BAT}.cmd" "@echo. >> destination.txt$\r$\n"
!appendfile "${BAT}.cmd" "@svnversion.exe >> destination.txt$\r$\n"
!system '"${BAT}.cmd"'
!delfile "${BAT}.cmd"
!undef BAT

错误是“无法打开输出文件”“错误 - 正在中止创建过程”

我在源代码中有什么问题吗?

4

1 回答 1

3

试试!system

您甚至可以在 .nsi 中创建批处理文件:

!tempfile BAT
!appendfile "${BAT}.cmd" "@echo off$\r$\n"
!appendfile "${BAT}.cmd" "@echo Hello$\r$\n"
!system '"${BAT}.cmd"'
!delfile "${BAT}.cmd"
!undef BAT
于 2013-01-18T10:19:50.770 回答