Nsis 如何在txt文件中搜索字符串?

Nsis 如何在txt文件中搜索字符串?,nsis,Nsis,是否有某种方法可以在example.txt文件中搜索字符串example 我尝试了Fileread和Fileseek,但它还不起作用。。。稍后我想写入文件,这就是为什么我使用带有aappend属性的FileOpen: FileOpen $4 "$SYSDIR\drivers\etc\hosts" a FileSeek $4 0 SET FileRead $4 $1 ${If} $1 != "example" Strcmp $1 "example" end 0 或者我可以在的同时使用浏览文件吗?

是否有某种方法可以在
example.txt
文件中搜索字符串
example

我尝试了
Fileread
Fileseek
,但它还不起作用。。。稍后我想写入文件,这就是为什么我使用带有
a
append属性的
FileOpen

FileOpen $4 "$SYSDIR\drivers\etc\hosts" a
FileSeek $4 0 SET
FileRead $4 $1
${If} $1 != "example"
Strcmp $1 "example" end 0
或者我可以在的同时使用
浏览文件吗?但是文件什么时候结束

更新
现在它可以工作了,但是有没有办法不写
30.0.0.0调度器
,这样就不会写整行了。。。例如,NSIS wiki中的
dispatcher
word?

包含了以下几个示例:

  • 2个示例,用于在文件或注释中进行搜索,定义基于
    StrCmp
  • 另一个例子是在一个文件中,而另一个例子是

您可以在这些示例的基础上完成自己的工作。

在问题中显示代码有两种方法:将块代码缩进至少4个空格或1个表格,或者使用专用的回引号。我同意替换文本是最简单的方法。
!define IP_AND_DISPATCHER "30.0.0.0 dispatcher"
    FileOpen $0 "$SYSDIR\drivers\etc\hosts" a
loop:

   FileRead $0 $2
   IfErrors done
   Messagebox MB_OK "$2"
      StrCmp $2 "${IP_AND_DISPATCHER}$\r$\n" 0 loop
MessageBox MB_OK "$${IP_AND_DISPATCHER} found"
FileClose $2     ;close file
Quit

done:
    FileSeek $0 0 END
    FileWrite $0 "$\r$\n" ; new line
    FileWrite $0 "${IP_AND_DISPATCHER}" ;write ip and dispatcher
    FileWrite $0 "$\r$\n" ; extra line
 FileClose $0     ;close file