Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Тоже верно.

Но всё таки вот пример поиска первого файла (на всех локальных дисках):

Код: Выделить весь код
$aDrives = DriveGetDrive('FIXED') ;Только локальные диски
$sAppName = 'MyApp.exe'
$sAppPath = ''

For $i = 1 To UBound($aDrives)-1
    $aSearch = _FileSearch($aDrives[$i], $sAppName)

    If Not @error Then
        $sAppPath = $aSearch[1]
        ExitLoop
    EndIf
Next

If $sAppPath <> '' Then
    MsgBox(64, 'Title', $sAppName & ' found as: ' & $sAppPath)
Else
    MsgBox(48, 'Title', $sAppName & ' not found.')
EndIf

Func _FileSearch($sPath, $sFile)
    Local $sOut, $aOut, $sRead, $hDir

    If Not StringInStr(FileGetAttrib($sPath), 'D') Then
        Return SetError(1, 0, 0)
    EndIf

    $sOut = StringToBinary('0' & @CRLF, 2)
    $sPath = StringRegExpReplace($sPath, '\\+$', '')

    $hDir = Run(@ComSpec & ' /U /C DIR "' & $sPath & '\' & $sFile & '" /B /S /A-D', @SystemDir, @SW_HIDE, 6)

    While ProcessExists($hDir)
        $sRead = StdoutRead($hDir, False, True)

        If @error Then
            ExitLoop
        EndIf

        If $sRead <> '' Then
            $sOut &= $sRead

            If StringInStr($sOut, $sFile) Then
                ExitLoop
            EndIf
        EndIf
    Wend

    $aOut = StringRegExp(BinaryToString($sOut, 2), '[^\r\n]+', 3)

    If @error Or UBound($aOut) < 2 Then
        Return SetError(2, 0, 0)
    EndIf

    $aOut[0] = UBound($aOut)-1
    Return $aOut
EndFunc

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 17:05, 25-09-2013 | #6