Dreadfulangel
Знающий
- Сообщения
- 19
- Репутация
- 11
FileFindNextFile находит файлы не совпадающие по маске при наличии русских символов в имени файла
Код:
#include-once
#include <Array.au3>
#include "File.au3"
$path = 'F:\' ;папка в которой создаются и ищутся файлы
$files = StringSplit("file.txt|file1.txt|file2.txt|prefix_file.txt|йfile.txt|начало file.txt|начало_file.txt|йfilйe.tйxt", "|")
FileChangeDir($path)
For $i = 1 To UBound($files) - 1
_FileCreate($files[$i])
Next
$FileList1 = _FileListToArr($path, 'file*.txt')
_ArrayDisplay($FileList1, 'Find Files')
For $i = 1 To UBound($files) - 1
FileDelete($files[$i])
Next
Func _FileListToArr($sPath, $sFilter = "*")
Local $hSearch, $sFile, $sFileList, $sDelim = "|"
$hSearch = FileFindFirstFile($sPath & $sFilter)
ConsoleWrite($sPath & $sFilter & @LF)
If @error Then Return SetError(1, 1, "")
While 1
$sFile = FileFindNextFile($hSearch)
If @error Then ExitLoop
$sFileList &= $sDelim & $sFile
ConsoleWrite($sFile & @LF)
WEnd
FileClose($hSearch)
If Not $sFileList Then Return SetError(1, 1, "")
Return StringSplit(StringTrimLeft($sFileList, 1), "|")
EndFunc ;==>_FileListToArr