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

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   Проверка свободного места на диске (http://forum.oszone.net/showthread.php?t=171101)

WoRG 24-03-2010 14:51 1376101

Проверка свободного места на диске
 
В программе работаю 2 дня :)
Написал автоустановку(наверное) к Aimp 2.60.551, но хотелось бы узнать, как сделать проверку свободного места на диске куда устанавливается программа и в случае нехватки запуск скриптов установки пропускается...

А вот и сам код написанный начальным языком, кто может оптимизировать, буду оч признателен указав на ошибки.

скрипт
Код:

If WinExists(@ScriptName) Then Exit
AutoItWinSetTitle(@ScriptName)
;скрыть в системной панели индикатор AutoIt
AutoItSetOption("TrayIconHide", 1)
;Отображать текущую строку сценария с помощью индикатора системной панели в режиме отладки.
AutoItSetOption("TrayIconDebug", 1)
AutoItSetOption("SendKeyDelay", 10)
If ProcessExists ( "ps.exe" )<>0 Then
    ProcessClose ( "ps.exe" )
    ProcessWaitClose ( "ps.exe" )
EndIf
;нельзя блокировать при находящемся в памяти Punto Switcher-е - не будет работать установка
;блокируем мышь и клаву
If @OSType="WIN32_NT" Then BlockInput ( 1 )
Run("aimp_2.60.551.exe")
WinWait("Installer Language")
WinActivate("Installer Language")
WinWaitActive("Installer Language")
Send("{ENTER}")
WinWait("AIMP2 Setup", "мастер установки")
WinActivate("AIMP2 Setup", "мастер установки")
WinWaitActive("AIMP2 Setup", "мастер установки")
ControlClick( "AIMP2 Setup", "&Далее >", 1)
WinWait("AIMP2 Setup", "Лицензионное соглашение")
WinActivate("AIMP2 Setup", "Лицензионное соглашение")
WinWaitActive("AIMP2 Setup", "Лицензионное соглашение")
ControlClick( "AIMP2 Setup", "Принима&ю", 1)
WinWait("AIMP2 Setup", "Выбор папки установки")
WinActivate("AIMP2 Setup", "Выбор папки установки")
WinWaitActive("AIMP2 Setup", "Выбор папки установки")
ControlClick( "AIMP2 Setup", "&Далее >", 1)
WinWait("AIMP2 Setup", "Яндекс.Бар")
WinActivate("AIMP2 Setup", "Яндекс.Бар")
WinWaitActive("AIMP2 Setup", "Яндекс.Бар")
ControlClick( "AIMP2 Setup", "Настройка параметров", 1202)
ControlClick( "AIMP2 Setup", "Установить Яндекс.Бар", 1203)
ControlClick( "AIMP2 Setup", "&Далее >", 1)
WinWait("AIMP2 Setup", "Компоненты устанавливаемой программы")
WinActivate("AIMP2 Setup", "Компоненты устанавливаемой программы")
WinWaitActive("AIMP2 Setup", "Компоненты устанавливаемой программы")
Send("{UP}")
Send("{UP}")
Send("{UP}")
Send("{TAB}")
Send("{RIGHT}")
Send("{DOWN}")
Send("{DOWN}")
Send("{DOWN}")
Send("{SPACE}")
Send("{DOWN}")
Send("{DOWN}")
Send("{DOWN}")
Send("{DOWN}")
Send("{DOWN}")
Send("{RIGHT}")
Send("{DOWN}")
Send("{DOWN}")
Send("{DOWN}")
Send("{DOWN}")
Send("{DOWN}")
Send("{DOWN}")
Send("{SPACE}")
Send("{DOWN}")
Send("{SPACE}")
Send("{DOWN}")
Send("{SPACE}")
ControlClick ( "AIMP2 Setup", "&Далее >", 1)
WinWait("AIMP2 Setup", "Ярлыки")
WinActivate("AIMP2 Setup", "Ярлыки")
WinWaitActive("AIMP2 Setup", "Ярлыки")
ControlClick ( "AIMP2 Setup", "Создать ярлыки на панели быстрого запуска", 1202)
ControlClick( "AIMP2 Setup", "&Установить", 1)
WinWait("AIMP2 Setup", "Установка завершена")
WinActivate("AIMP2 Setup", "Установка завершена")
WinWaitActive("AIMP2 Setup", "Установка завершена")
ControlClick( "AIMP2 Setup", "&Далее >", 1)
WinWait("AIMP2 Setup", "Установка AIMP2 завершена!")
WinActivate("AIMP2 Setup", "Установка AIMP2 завершена!")
WinWaitActive("AIMP2 Setup", "Установка AIMP2 завершена!")
ControlClick( "AIMP2 Setup", "Запустить AIMP2", 1203)
ControlClick( "AIMP2 Setup", "Показать ReadMe", 1204)
ControlClick( "AIMP2 Setup", "Готово", 1)
BlockInput(0)


kaster 24-03-2010 14:57 1376104

читай хелп по вот этому ключевому слову
Код:

DriveSpaceFree()

FlatX007 25-03-2010 17:28 1377018

Код:

$iLimit_MB = 50
$sCommand = "aimp_2.60.512_rc3.exe /S"

$aDrive = StringSplit(@ProgramFilesDir, "\")

If DriveSpaceFree($aDrive[1] & '\') < $iLimit_MB Then
    MsgBox(0, "", "Нет места на диске - " & $aDrive[1] & '\')
    Exit
EndIf


$nResult = RunWait(@ComSpec & " /C " & @ScriptDir & '\' & $sCommand, "", @SW_HIDE)
    ConsoleWrite("RunWait - " & $nResult & @CRLF)
If $nResult = 0 Then MsgBox(0, "", "Программа удачно установлена!")



Время: 20:15.

Время: 20:15.
© OSzone.net 2001-