кто подскажет почему скрипт, после удаления ярлыка из автозагрузки, перед самым ребутом, создает его снова???
Код:
;Определение буквы виртуального CDROM-а (67 - ASCII-код символа "C", 90 - "Z")
;(в качестве маркерного файла используем "wpi.hta")
$i = 67
While FileExists( Chr($i) & ':\WPI\WPI.hta' )=0 AND $i<=90
$i = $i + 1
WEnd
Sleep ( 500 )
Global $set_reg1=Chr($i) & ':\$OEM$\noanimate.reg', $set_reg2=Chr($i) & ':\$OEM$\sound.reg'
;если ярлык сущ-ет то, скрипт выполняет для чего он собственно и задумывался
If FileExists ( @StartupCommonDir & '\Lastep.lnk' ) Then
;предотвращение возможности множественного запуска скрипта
If WinExists(@ScriptName) Then Exit
AutoItWinSetTitle(@ScriptName)
;Отображать текущую строку сценария с помощью индикатора системной панели в режиме отладки.
AutoItSetOption("TrayIconDebug", 1)
AutoItSetOption("SendKeyDelay", 20)
Sleep ( 5000 )
;создаем ярлык на запуск wpi на рабочем столе
FileCreateShortcut ( Chr($i) & ':\WPI\WPI.hta', @DesktopCommonDir & '\wpi.lnk', Chr($i) & ':\WPI', '' ,'Windows Post Install', Chr($i) & ':\WPI\WPI.ICO')
Sleep ( 5000 )
;удаляем ярлык из автозагрузки
FileDelete ( @StartupCommonDir & '\Lastep.lnk' )
Sleep ( 20000 )
; переносим ярлыки в старт меню
FileMove ( @ProgramsDir & '\Internet Explorer.lnk', @ProgramsCommonDir & '\network\', 9 )
FileMove ( @ProgramsDir & '\Outlook Express.lnk', @ProgramsCommonDir & '\network\', 9 )
DirRemove( @ProgramsDir & '\Accessories\Entertainment' , 1 )
Sleep ( 10000 )
;загружаем "проблемные" ключи реестра
RunWait ('regedit /S ' & $set_reg1, '', @SW_HIDE )
RunWait ('regedit /S ' & $set_reg2, '', @SW_HIDE )
; перезагружаем компьютер
Sleep ( 10000 )
Shutdown(6)
EndIf
; если ярлык в автозапуске не сущ-ет - создаем его и выходим
FileCreateShortcut ( Chr($i) & ':\$OEM$\lastep.exe',@StartupCommonDir & '\Lastep.lnk', @StartupCommonDir & '\' )
Exit