Набросал код который просто ищет определенную папку в подпапках, но когда в одной из подпапок пусто то код выбивает ошибку, как исправить не знаю. Помогите пожалуйста исправить.
Всё просто, например в папке DATA лежат две папки data1 и data2, папка data1 пустая, а в папке data2 лежит папка info, ищем папку info, и при таком поиске появится ошибка.
А если в папке data1 тоже будет любая папка то поиск пройдет нормально без ошибок, то есть ошибка появляется тогда когда хотя бы одна папка пустая.
Я так понимаю нужно просто создать проверку на ошибки, но как это сделать не знаю.
Всё просто, например в папке DATA лежат две папки data1 и data2, папка data1 пустая, а в папке data2 лежит папка info, ищем папку info, и при таком поиске появится ошибка.
А если в папке data1 тоже будет любая папка то поиск пройдет нормально без ошибок, то есть ошибка появляется тогда когда хотя бы одна папка пустая.
Я так понимаю нужно просто создать проверку на ошибки, но как это сделать не знаю.
Код:
#include <File.au3>
$aSearch = "info" ; имя папки которую ищем
$FileList=_FileListToArray(@ScriptDir & "\DATA") ; считываем в массив имена всех папок которые в папке DATA
$count_catalog = 1
Do
$temp_cat = _FileListToArray(@ScriptDir & "\DATA\"&$FileList[$count_catalog])
If @error=4 Then
$count_catalog = $count_catalog + 1
Else
Assign($FileList[$count_catalog], $temp_cat, 2)
$vVal = Eval($FileList[$count_catalog])
$count_catalog = $count_catalog + 1
EndIf
Until $count_catalog = $FileList[0]+1
$count_catalog = 1
Do
$vVal = Eval($FileList[$count_catalog])
$count_search = 1
$marker_search = 0
Do
if StringInStr($vVal[$count_search], $aSearch) Then
MsgBox (0,"поиск","Папка: <"&$aSearch&"> обнаружена в папке <"&$FileList[$count_catalog]&">")
$marker_search = 1
Else
$count_search = $count_search + 1
EndIf
Until $count_search = $vVal[0]+1 or $marker_search = 1
$count_catalog = $count_catalog + 1
Until $count_catalog = $FileList[0]+1 or $marker_search = 1
if $marker_search = 0 Then
MsgBox (0,"поиск","Папка: <"&$aSearch&"> не обнаружена")
Else
EndIf
Последнее редактирование: