Что нового

Внести найденные каталоги в ini файл

Сообщения
95
Репутация
-1
Доброе время суток. Имеется стандартный скрипт из русской справки для поиска файлов и каталогов. Как добавить имена найденных каталогов в ini файл

Код:
; Скрипт показывает имена всех файлов и каталогов в указанной директории.
$sPath = @ScriptDir
$hSearch = FileFindFirstFile($sPath & '\Chrome*') ; возвращает дескриптор поиска, определяющий путь и маску

; Проверка, является ли поиск успешным
If $hSearch = -1 Then
    MsgBox(4096, "Ошибка", "Ни один из файлов или каталогов не соответствует маске поиска")
    Exit
EndIf

While 1
    $sFile = FileFindNextFile($hSearch) ; возвращает имя следующего файла, начиная от первого до последнего
    If @error Then ExitLoop
    If @extended Then
        $sType = 'Каталог: '
    Else
        $sType = 'Файл: '
    EndIf

    $iAnswer = IniWrite(@ScriptDir & '\ini.ini', "Section", "Key", $sFile)
    If $iAnswer = 2 Then ExitLoop
WEnd

; Закрывает дескриптор поиска
FileClose($hSearch)
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
В таком виде скрипт будет перезаписывать значение одного ключа "Key" и в результате получаете одну строку с последним именем файла. Определитесь - что Вы хотите видеть в качестве ключа, например вот так будет порядковый номер файла :
Код:
$sPath = @ScriptDir
$hSearch = FileFindFirstFile($sPath & '\Chrome*') ; возвращает дескриптор поиска, определяющий путь и маску

; Проверка, является ли поиск успешным
If $hSearch = -1 Then
    MsgBox(4096, "Ошибка", "Ни один из файлов или каталогов не соответствует маске поиска")
    Exit
EndIf
$n=0
While 1
    $sFile = FileFindNextFile($hSearch) ; возвращает имя следующего файла, начиная от первого до последнего
    If @error Then ExitLoop
    If @extended Then
        $sType = 'Каталог: '
    Else
        $sType = 'Файл: '
    EndIf
   $n+=1
   IniWrite(@ScriptDir & '\ini.ini', "Section", $n, $sFile)

WEnd

; Закрывает дескриптор поиска
FileClose($hSearch)
 
Верх