String 从NSIS脚本在文件中查找字符串模式

String 从NSIS脚本在文件中查找字符串模式,string,find,nsis,String,Find,Nsis,在NSIS安装程序脚本中,我试图检查给定的httpd.conf文件是否包含以下行: 包括“c:\xxx\yyy.conf” 如果是这样,那么我的安装程序脚本将不会将其附加到文件中,否则,它将附加它 我经历了{LineFind},但不确定这是否真的能实现我想要实现的目标 从NSIS脚本对文本文件执行某种“grep”的最简单方法是什么 谢谢大家! 下面是一个示例,用于搜索文件中的给定行,使用LogicLib简化语法。一旦找到该行,搜索即停止。此示例适用于示例脚本本身: #find.nsi:TextF

在NSIS安装程序脚本中,我试图检查给定的httpd.conf文件是否包含以下行:

包括“c:\xxx\yyy.conf”

如果是这样,那么我的安装程序脚本将不会将其附加到文件中,否则,它将附加它

我经历了{LineFind},但不确定这是否真的能实现我想要实现的目标

从NSIS脚本对文本文件执行某种“grep”的最简单方法是什么


谢谢大家!

下面是一个示例,用于搜索文件中的给定行,使用LogicLib简化语法。一旦找到该行,搜索即停止。此示例适用于示例脚本本身:

#find.nsi:TextFunc.nsh中的LineFind示例
!包括“textfunc.nsh”
!包括“logiclib.nsh”
输出文件“find.exe”
!定义查找'Section';会发现
;!定义查找'Sectionn';找不到
Var发现
部分
找到StrCpy$0
${LineFind}“find.nsi”“/NUL”“1:-1”“GrepFunc”
${if}$found=1
MessageBox MB_OK“找到字符串”
${else}
MessageBox MB_OK“未找到字符串”
${endIf}
分段结束
函数GrepFunc
${TrimNewLines}'$R9'$R9
DetailPrint“第$R8`$R9`行的测试”
${if}$R9==“${lookfort}”
StrCpy$1;设旗
按“StopLineFind”;停止查找
${else}
推0;忽略->继续
${endIf}
功能端

工作起来很有魅力。谢谢!