Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [решено] Как сделать скрипт на AutoIT чтобы он проверял все диски и искал файл (http://forum.oszone.net/showthread.php?t=271706)

Alex_86_ 09-11-2013 22:24 2250878

Как сделать скрипт на AutoIT чтобы он проверял все диски и искал файл
 
Добрый день! Я новичок в написании скриптов.
Подскажите как сделать скрипт на AutoIT, чтобы он проверял все диски (съемные и не съемные) на предмет наличия определенного файла и при нахождении такового делал как в это скрипте:
for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%i:\WIN51 set CDROM=%%i:
set DVD=%CDROM%
Потом запускается установка программ.
Пример: start/wait %cdrom%\WPI\Winrar.exe

madmasles 10-11-2013 05:48 2251081

Alex_86_,
Попробуйте сделать так.
Код:

Global $aDrive, $sPath, $hSearch, $sFileExe, $sDirSearch = '\Windows\', $sDirExe = 'System32\'
;поменяйте имена папок $sDirSearch и $sDirExe на нужные Вам, например, на \WIN51\ и WPI\ как в Вашем примере.
$aDrive = DriveGetDrive('ALL')
If @error Then Exit MsgBox(16, 'Error', 'Ошибка поиска дисков', 5)
For $i = 1 To $aDrive[0]
    If FileExists($aDrive[$i] & $sDirSearch) Then
        $sPath = $aDrive[$i] & $sDirSearch
        ExitLoop
    EndIf
Next
If Not $sPath Then Exit MsgBox(16, 'Error', 'Ни на одном диске не найдена папка ' & $sDirSearch, 5)
$sPath &= $sDirExe
$hSearch = FileFindFirstFile($sPath & '*.exe')
If @error Then Exit MsgBox(16, 'Error', 'В папке ' & $sPath & ' не найдены файлы *.exe', 5)
While 1
    $sFileExe = FileFindNextFile($hSearch)
    If @extended Then ContinueLoop
    If @error Then ExitLoop
    ConsoleWrite($sPath & $sFileExe & @LF);смотрите в справке функции Run, RunWait, RunAs, RunAsWait, ShellExecute, ShellExecuteWait и тд...
WEnd


Alex_86_ 10-11-2013 19:08 2251427

madmasles,
спасибо! Все работает.

madmasles 13-11-2013 18:54 2253856

Alex_86_,
Я забыл в самом конце закрыть поиск:
Код:

;...
WEnd
FileClose($hSearch)



Время: 10:07.

Время: 10:07.
© OSzone.net 2001-