Проверка свободного места на диске

Ответить
Аватара пользователя
WoRG

Проверка свободного места на диске

Сообщение WoRG »

В программе работаю 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

Re: Проверка свободного места на диске

Сообщение kaster »

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



Код:

Код: Выделить всё

DriveSpaceFree()
Аватара пользователя
FlatX007

Re: Проверка свободного места на диске

Сообщение FlatX007 »

Код: Выделить всё

$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, "", "Программа удачно установлена!")
Ответить

Вернуться в «AutoIt»