我是 NSIS 初学者,我需要一些帮助。我有一个包含多行数字的 txt 文件。我想使用编译时命令(例如 !system 或其他)读取每一行数字,将它们相加,并将总和转换为可在脚本中使用的全局变量。任何人都可以提出一个很好的方法来实现这一目标吗?非常感谢您!
我写了
!system 'for /f "tokens=1" %a in (filesize.txt) do set /a sum+=%a'
运行成功,从编译日志可以看出已经计算出结果。如何将命令行输出的计算结果转换为可以全局使用的变量?
您必须将标准输出重定向到您可以的文件
!include
:
!tempfile STDOUT
!system 'echo StrCpy $0 1234 >> "${STDOUT}"'
!include "${STDOUT}"
!delfile "${STDOUT}"
!undef STDOUT
如果命令很复杂,您可能需要制作一个批处理文件:
!tempfile BAT
!appendfile "${BAT}.bat" 'echo foo >> %1$\n'
!appendfile "${BAT}.bat" 'dir bar >> %1$\n'
!tempfile STDOUT
!system '"${BAT}.bat" "${STDOUT}"'
!delfile "${BAT}.bat"
!undef BAT
!include "${STDOUT}"
!delfile "${STDOUT}"
!undef STDOUT