Tosyk
Новичок
- Сообщения
- 206
- Репутация
- 0
Autoit Version 3.5.4
1. Есть текстовый файл со списком путей к файлам - каждая строка это 1 путь
2. Есть имя файла, которое я ищу в этом текстовом файле.
3. Есть код:
У меня не получается сохранить в лог файл если в коде нет совпадения
Я пытаюсь это сделать после
Если я оставляю
подскажите как это сделать?
1. Есть текстовый файл со списком путей к файлам - каждая строка это 1 путь
2. Есть имя файла, которое я ищу в этом текстовом файле.
3. Есть код:
Код:
Func _FileSearch($_sName)
Local $_iA, $_sFile
Local $_sFileDir, $_sFileName, $_sFileType
For $_iA = 1 To $aListFileSearch[0]
;получаем путь к файлу
$_sFileDir = StringRegExpReplace($aListFileSearch[$_iA], '(^.*)\\(.*)$', '$1')
;получаем имя и тип файла
$_sFileName = StringRegExpReplace($aListFileSearch[$_iA], '(^.*)\\(.*)$', '$2')
;получаем только тип файла
$_sFileType = StringRegExpReplace($_sFileName, '(^.*)\.(.*)$', '$2')
;получаем только имя файла
$_sFileName = StringRegExpReplace($_sFileName, '(^.*)\.(.*)$', '$1')
;если имя файла из списка $aListFileSearch совпадает с именем $_sName искомого, то ...
Switch $_sFileName
Case $_sName
ConsoleWrite('Found: ' & $_sFileName & '.' & $_sFileType & @LF)
If FileExists($aListFileSearch[$_iA]) Then
_FileCopy($aListFileSearch[$_iA])
Else
Local $sFilePath = '"' & $sDrive & FileGetShortName($sFolder) & '\' & $sFileName & '_error.log' & '"'
Local $hFileOpen = FileOpen($sFilePath, $FO_APPEND)
FileWrite($hFileOpen, $_sFileName & '.' & $_sFileType & " Can't be found")
EndIf
Return 1
Case Else
ConsoleWrite('Not found: ' & $_sName & '.' & $_sFileType & @LF)
Local $sFilePath = '"' & $sDrive & FileGetShortName($sFolder) & '\' & $sFileName & '_error.log' & '"'
Local $hFileOpen = FileOpen($sFilePath, $FO_APPEND)
FileWrite($hFileOpen, $_sFileName & '.' & $_sFileType & " Can't be found")
EndSwitch
Next
EndFunc
У меня не получается сохранить в лог файл если в коде нет совпадения
$_sName
с $_sFileName
Я пытаюсь это сделать после
Case Else
Если я оставляю
ConsoleWrite
не закомментированным, то получаю тысячи (по количеству строк в моём текстовом файле) записей в консоль.подскажите как это сделать?