0

我正在使用 NSIS 函数LineFind

我的问题:函数 LineFind 只搜索文件的第一行然后停止。它直到最后才进入文件的下一行。该函数不是要在文件的每一行中搜索我的 TargetLine 吗?

如何让 LineFind 搜索每一行而不仅仅是第一行?

Function FindLineCallback
    # Only ever prints out the first line and never runs this function again
    DetailPrint "LINE: $R9"

    ...Unrelated code to check line
FunctionEnd

Function FindLine
    # TOP = Top of stack
    # T-2 = mDir
    # T-1 = mFile
    # TOP = targetStr

    Pop $R8  # targetStr
    Pop $R7  # mFile
    Pop $R6  # mDir 

    ${LineFind} "$R6\$R7" "" "1:-1" "FindLineCallback"

FunctionEnd
4

1 回答 1

1

找到了答案:我只需要在回调函数末尾推送一个数字值来“表示”我想继续寻找

Function FindLineCallback
    DetailPrint "LINE: $R9"

    Push 2
FunctionEnd
于 2012-07-19T06:35:48.150 回答