;:::::::::::::::::::::::::::::: TextSearch.au3 :::::::::::::::::::::::::::::
; Назначение: поиск вхождений заданных подстрок в текстовом содержимом файла
; Положить blb2txt.exe в %COMMANDER_PATH%\Plugins\wdx\WinScriptsAdv\Scripts\
; Программа доступна по следующей ссылке: http://balabolka.site/blb2txt.zip
; Поддержка: azw, azw3, chm, djvu, doc(x), eml, epub, fb2, fb3, htm(l), odp,
; ods, odt, mobi, litmht, pdb, pdf, ppt(x), prc, rtf, tcr, wpd, wri, xls(x),
; а также любых текстовых файлов по списку заданных в options.ini расширений
;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
#NoTrayIcon
Opt('MustDeclareVars', 1)
Dim $FileName
If FileGetSize($FileName) = 0 Then
$FileName = ObjCreate('Shell.Application').NameSpace(0).ParseName($FileName).ExtendedProperty('LinkTarget')
If Not $FileName Then Exit
If Not FileGetSize($FileName) Then Exit
EndIf
Dim $Ext, $PID, $Text, $Text2, $Content, $Content1, $Content2
$Ext = StringRegExp($FileName, '((?<=\.)[^.]+|)$', 1)[0]
If Not $Ext Then Exit
If StringInStr('|azw|azw3|chm|djvu|doc|docx|eml|epub|fb2|fb3|htm|html|lit|mht|mobi|odp|ods|odt|pdb|pdf|ppt|pptx|prc|rtf|tcr|wpd|wri|xls|xlsx|', '|' & $Ext & '|', 2) Then
$PID = Run('"' & EnvGet('COMMANDER_PATH') & '\Plugins\wdx\WinScriptsAdv\Scripts\blb2txt.exe" -f "' & $FileName & '" -o -rpn -sn -ss','', 0, 2)
While 1
$Text = StdoutRead($PID, 1)
If $Text Then
If $Text = $Text2 Then ExitLoop
EndIf
$Text2 = $Text
WEnd
$Text2 = ''
StdioClose($PID)
Else
Dim $oFile
$oFile = FileOpen($FileName)
$Text = FileRead($oFile)
FileClose($oFile)
EndIf
$Content = StringInStr($Text, 'искомый текст 1')
$Content1 = StringInStr($Text, 'искомый текст 2')
$Content2 = StringInStr($Text, 'Искомый текст 3')
$Text = '' |