Что нового

[Автоматизация] настройки windows 7 и установка необходимых программ.

Agat

Чайник
Сообщения
3
Репутация
0
Здравствуйте господа! :smile:
Пишу скрипт который поможет мне оптимизировать процесс настройки и установки некоторого софта(в планах так же установка драйверов) на свежеустановленную систему. Софт ставиться из пакетов входящих в один из WPI.
Сначала выполняю от имени админа первый скрипт:
Код:
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System", "EnableLUA", "REG_DWORD", "00000000") ;отключаем контроль учетных записей
if DirCopy("\auto_install", "C:\auto_install", 1) = 1 then 
	if FileCopy("C:\auto_install\script.lnk", @StartupDir & "\script.lnk") =1 then Shutdown(6)	
		EndIf


затем, после перезагрузки, стартует второй скрипт:
Код:
Run("7600_RTM_v13.2.exe")
Sleep(5000)
Opt("MouseCoordMode",0)
WinWaitActive("Добро пожаловать!                                                  Выпуск 13.2 (09/06/2010)")
MouseClick("left",420,137,1,0)
Sleep(800)
WinActivate("Добро пожаловать!                                                  Выпуск 13.2 (09/06/2010)")
MouseClick("left",519,14,1,0)

Run("WinRAR_3.91.exe")
Run("WinDjView.exe")
Run("TotalCom_7.50.exe")
Run("KMPlayer_2.9.4.1435.exe")
Run("KLiteMega_5.61.exe")
Run("FoxitReader_3.0.1506.exe")
Run("Everest_5.30.1977.exe")
Run("AIMP_2.60.530.exe")
Run("3DMark06.exe")
WinWaitActive("АКТИВАЦИЯ УСПЕШНО ВЫПОЛНЕНА!","вы можете воспользоваться")
send("{ENTER}")
DirCreate("C:\dx")
Run("directx_Jun2010_redist.exe")
WinWaitActive("DirectX June 2010 Redist","read the following")
Send("{TAB}")
send("{space}")
WinWaitActive("DirectX June 2010 Redist"," type the location where")
ControlSend("DirectX June 2010 Redist","","Edit1","C:\dx")
ControlClick("DirectX June 2010 Redist","type the location where","Button2")
Sleep(10000)
Run("C:\dx\DXSETUP.exe")
WinWaitActive("Установка Microsoft(R) DirectX(R)","Мастер установки DirectX")
ControlClick("Установка Microsoft(R) DirectX(R)","Мастер установки DirectX","Button1")
ControlClick("Установка Microsoft(R) DirectX(R)","Мастер установки DirectX","Button4")
WinWaitActive("Установка Microsoft(R) DirectX(R)","Установка исполняемого модуля")
ControlClick("Установка Microsoft(R) DirectX(R)","Установка исполняемого модуля","Button4")
WinWaitActive("Установка Microsoft(R) DirectX(R)","Установка завершена")
send("{ENTER}")
FileDelete(@DesktopDir & "\Vit Registry Fixer.lnk")
FileDelete(@DesktopDir & "\Vit Disk Cleaner.lnk")
FileDelete(@StartupDir & "\Total Commander.lnk")
FileDelete(@DesktopCommonDir & "\Vit Registry Fixer.lnk")
FileDelete(@DesktopCommonDir & "\Vit Disk Cleaner.lnk")
FileDelete(@StartupCommonDir & "\Total Commander.lnk")
FileDelete(@StartupDir & "\script.lnk")
RunWait("Office_2003_SP3_Full.exe")
sleep(120000)
DirRemove("C:\auto_install",1)
Shutdown(6)


Скрипт должен удалять за собой папку auto_install и самого себя. Само собой пока он выполняется удалить папку целиком не получиться. Как же удалить папку и сам скрипт?
Пробовал такой способ:
Код:
#include <process.au3>
_RunDOS("ping -t -n 2 127.0.0.1 > NULL & ping -t -n 2 127.0.0.1 > NULL & rd /s /q C:\1") ;ping -t -n 2 127.0.0.1 > NULL для задержки
Exit

но не сработало. Видимо пока консольная команда работает и скрипт не отключается.
Прошу помощи в реализации удаления папки с софтом и скрипта. Также рад бы увидеть советы и пожелания по поводу автоматизированной подготовки системы к использованию после установки! :smile:
 

Fever

Скриптер
Сообщения
308
Репутация
112
Автор
A

Agat

Чайник
Сообщения
3
Репутация
0
вместо кликания по координатам используйте Send(). Этот метод описан в Simple Notepad Automation в справке
send'ом пользуюсь. но в этом случае:
Код:
WinWaitActive("Добро пожаловать!                                                  Выпуск 13.2 (09/06/2010)")
MouseClick("left",420,137,1,0)
Sleep(800)
WinActivate("Добро пожаловать!                                                  Выпуск 13.2 (09/06/2010)")
MouseClick("left",519,14,1,0)

он не работает. Поэтому юзаю клики.

За ссылку спасибо!

добавил пару строк в функцию дестроя что бы удалялся каталог.
ещё есть такой вопрос: как с помощью скрипта вытащить ID оборудования, в частности видеокарты?
 

Fever

Скриптер
Сообщения
308
Репутация
112
Agat [?]
как с помощью скрипта вытащить ID оборудования, в частности видеокарты?
есть такая замечательная UDF CompInfo.au3. к сожалению тему о ней здесь найти не смог, по этому прикрепляю её к посту. Вам нужна ф-ция _ComputerGetVideoCards. Информация о ней, собственно, в самом UDF :smile:
 
Автор
A

Agat

Чайник
Сообщения
3
Репутация
0
Замечетельно! Судя по названию смогу подглядеть там и ID'ы других железяк)
Думаю за завтрашний день разберусь! :smile:
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8 159
Репутация
2 329
Fever [?]
тему о ней здесь найти не смог
Плохо искал значит: Computer Info - Библиотека для получения инфы о компьютере
Вместо того, чтобы искать CompInfo, было бы разумно разделить эти слова на две части: Comp Info.
Вообще то по CompInfo тоже прекрасно находит, как же ты искал интересно?
 
Верх