#include #include #include #include #include #include #include #include #Region ### START Koda GUI section ### Form= Global $aArray = DriveGetDrive("REMOVABLE") Global $ourDrive = "" $sString = _ArrayToString ($aArray, "|", 1) $Form1 = GUICreate("BOOTPACK UPDATER v1.0 beta", 712, 477, 571, 339, -1, BitOR($WS_EX_TOPMOST,$WS_EX_WINDOWEDGE)) $Label1 = GUICtrlCreateLabel("Dispositivo/Disco", 15, 40, 324, 24) GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif") If ($aArray = "") Then $Combo1 = GUICtrlCreateCombo("Despositivo BOOTPACK não encontrado", 16, 64, 289, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL)) Else For $i = $aArray[0] To 1 Step -1 If DriveGetLabel($aArray[$i]) = "BOOTPACK_V4" then global $ourDrive = $aArray[$i] $Combo2 = GUICtrlCreateCombo(StringUpper($ourDrive), 16, 64, 289, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL)) ;~ GUICtrlSetData(-1, StringUpper($Combo2), "") ;~ GUICtrlRead($Combo2) global $letter = StringUpper($aArray[$i]) GUICtrlSetData($Combo2, $letter) GUICtrlRead ($letter) ;~ Else ;~ $Combo3 = GUICtrlCreateCombo("No BOOTPACK device found", 16, 64, 289, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL)) ;~ GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif") ;~ GUICtrlSetData(-1, StringUpper($Combo2), "") ;~ GUICtrlSetData(-1, StringUpper($ourDrive), "") ;~ ExitLoop EndIf Next EndIf GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### $Label2 = GUICtrlCreateLabel("Itens a atualizar", 15, 128, 324, 24) GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif") GUICtrlCreateGroup("", 15, 154, 396, 294) $RADIO1 = GUICtrlCreateCheckbox("Bootpack Base", 25, 172, 119, 17) $RADIO2 = GUICtrlCreateCheckbox("SO's Base", 25, 206, 135, 17) $RADIO3 = GUICtrlCreateCheckbox("Windows VISTA", 25, 240, 135, 17) $RADIO4 = GUICtrlCreateCheckbox("Windows VISTA X64", 25, 274, 135, 17) $RADIO5 = GUICtrlCreateCheckbox("Windows 7", 25, 308, 135, 17) $RADIO6 = GUICtrlCreateCheckbox("Windows 8.1", 25, 342, 135, 17) $RADIO7 = GUICtrlCreateCheckbox("Windows 10", 25, 376, 135, 17) $RADIO8 = GUICtrlCreateCheckbox("Windows 11", 25, 410, 135, 17) GUICtrlCreateGroup("", -99, -99, 1, 1) $BUTTON1 = GUICtrlCreateButton("Começar", 432, 416, 129, 25) GUISETSTATE() $BUTTON2 = GUICtrlCreateButton("Marcar Todos", 496, 160, 129, 25) GUISETSTATE() $BUTTON3 = GUICtrlCreateButton("Desmarcar", 496, 208, 129, 25) GUISETSTATE() $Button4 = GUICtrlCreateButton("Sair", 567, 416, 129, 25) GUISETSTATE() GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### ;~ WHILE 1 ;~ $MSG=GUIGETMSG() ;~ SWITCH $MSG ;~ CASE $GUI_EVENT_CLOSE ;~ EXIT ;~ CASE $BUTTON1 ;~ IF BITAND(GUICTRLREAD($RADIO1),$GUI_CHECKED)=$GUI_CHECKED THEN Dim $options, $dest, $source, $what, $prog, $runner, $logg $options = '/R:1 /W:1' $what = '/COPY:DAT /XJ /V /TEE /ETA /E /MIR' $logg = '/LOG+:C:\temp\_katastrofe_dok2.log /NFL /NDL' $prog = 'RoboCopy.exe' WHILE 1 $MSG=GUIGETMSG() SWITCH $MSG CASE $GUI_EVENT_CLOSE EXIT CASE $BUTTON1 IF BITAND(GUICTRLREAD($RADIO1),$GUI_CHECKED)=$GUI_CHECKED THEN FileCopy(@ScriptDir & "\" & "Bootpack Base" & "\g2ldr.*", $letter, $FC_OVERWRITE) $source = @ScriptDir & "\" & "Bootpack Base\boot" $dest = $letter & "\" & "boot" $runner = $prog & ' "' & $source & '" "' & $dest & '" ' & $what & ' ' & $options & ' ' & $logg RunWait(@ComSpec & " /c" & $runner, "", @SW_MINIMIZE) $source = @ScriptDir & "\" & "Bootpack Base\efi" $dest = $letter & "\" & "efi" $runner = $prog & ' "' & $source & '" "' & $dest & '" ' & $what & ' ' & $options & ' ' & $logg RunWait(@ComSpec & " /c" & $runner, "", @SW_MINIMIZE) $source = @ScriptDir & "\" & "Bootpack Base\bootpack" $dest = $letter & "\" & "bootpack" $runner = $prog & ' "' & $source & '" "' & $dest & '" ' & $what & ' ' & $options & ' ' & $logg RunWait(@ComSpec & " /c" & $runner, "", @SW_MINIMIZE) EndIf IF BITAND(GUICTRLREAD($RADIO2),$GUI_CHECKED)=$GUI_CHECKED THEN $source = @ScriptDir & "\" & "SO's Base" $dest = $letter & "Winsetup" $runner = $prog & ' "' & $source & '" "' & $dest & '" ' & $what & ' ' & $options & ' ' & $logg RunWait(@ComSpec & " /c" & $runner, "", @SW_MINIMIZE) EndIf IF BITAND(GUICTRLREAD($RADIO3),$GUI_CHECKED)=$GUI_CHECKED THEN $source = @ScriptDir & "\" & "Vista" $dest = $letter & "Winsetup" & "\" & "Vista" $runner = $prog & ' "' & $source & '" "' & $dest & '" ' & $what & ' ' & $options & ' ' & $logg RunWait(@ComSpec & " /c" & $runner, "", @SW_MINIMIZE) EndIf IF BITAND(GUICTRLREAD($RADIO4),$GUI_CHECKED)=$GUI_CHECKED THEN $source = @ScriptDir & "\" & "VISTA64" $dest = $letter & "Winsetup" & "\" & "Vista64" $runner = $prog & ' "' & $source & '" "' & $dest & '" ' & $what & ' ' & $options & ' ' & $logg RunWait(@ComSpec & " /c" & $runner, "", @SW_MINIMIZE) EndIf IF BITAND(GUICTRLREAD($RADIO5),$GUI_CHECKED)=$GUI_CHECKED THEN $source = @ScriptDir & "\" & "WIN7" $dest = $letter & "Winsetup" & "\" & "WIN7" $runner = $prog & ' "' & $source & '" "' & $dest & '" ' & $what & ' ' & $options & ' ' & $logg RunWait(@ComSpec & " /c" & $runner, "", @SW_MINIMIZE) EndIf IF BITAND(GUICTRLREAD($RADIO6),$GUI_CHECKED)=$GUI_CHECKED THEN $source = @ScriptDir & "\" & "WIN81" $dest = $letter & "Winsetup" & "\" & "WIN81" $runner = $prog & ' "' & $source & '" "' & $dest & '" ' & $what & ' ' & $options & ' ' & $logg RunWait(@ComSpec & " /c" & $runner, "", @SW_MINIMIZE) EndIf IF BITAND(GUICTRLREAD($RADIO7),$GUI_CHECKED)=$GUI_CHECKED THEN $source = @ScriptDir & "\" & "W10" $dest = $letter & "Winsetup" & "\" & "W10" $runner = $prog & ' "' & $source & '" "' & $dest & '" ' & $what & ' ' & $options & ' ' & $logg RunWait(@ComSpec & " /c" & $runner, "", @SW_MINIMIZE) EndIf IF BITAND(GUICTRLREAD($RADIO8),$GUI_CHECKED)=$GUI_CHECKED THEN $source = @ScriptDir & "\" & "W11" $dest = $letter & "Winsetup" & "\" & "W11" $runner = $prog & ' "' & $source & '" "' & $dest & '" ' & $what & ' ' & $options & ' ' & $logg RunWait(@ComSpec & " /c" & $runner, "", @SW_MINIMIZE) EndIf MsgBox($MB_SYSTEMMODAL, "", "Atualização concluida") CASE $BUTTON2 _GUICTRLBUTTON_SETCHECK($RADIO1,$BST_CHECKED) _GUICTRLBUTTON_SETCHECK($RADIO2,$BST_CHECKED) _GUICTRLBUTTON_SETCHECK($RADIO3,$BST_CHECKED) _GUICTRLBUTTON_SETCHECK($RADIO4,$BST_CHECKED) _GUICTRLBUTTON_SETCHECK($RADIO5,$BST_CHECKED) _GUICTRLBUTTON_SETCHECK($RADIO6,$BST_CHECKED) _GUICTRLBUTTON_SETCHECK($RADIO7,$BST_CHECKED) _GUICTRLBUTTON_SETCHECK($RADIO8,$BST_CHECKED) CASE $BUTTON3 _GUICTRLBUTTON_SETCHECK($RADIO1,$BST_UNCHECKED) _GUICTRLBUTTON_SETCHECK($RADIO2,$BST_UNCHECKED) _GUICTRLBUTTON_SETCHECK($RADIO3,$BST_UNCHECKED) _GUICTRLBUTTON_SETCHECK($RADIO4,$BST_UNCHECKED) _GUICTRLBUTTON_SETCHECK($RADIO5,$BST_UNCHECKED) _GUICTRLBUTTON_SETCHECK($RADIO6,$BST_UNCHECKED) _GUICTRLBUTTON_SETCHECK($RADIO7,$BST_UNCHECKED) _GUICTRLBUTTON_SETCHECK($RADIO8,$BST_UNCHECKED) CASE $BUTTON4 Exit ENDSWITCH ;~ Do ;~ $msg = GUIGetMsg() ;~ If $msg = $Button1 Then ;~ Run("DpinstL.exe /g:" & (GUICtrlRead($Combo2))) ;~ Exit ;~ EndIf ;~ If $msg = $Button4 Then ;~ Exit ;~ EndIf ;~ Until $msg = $GUI_EVENT_CLOSE ;~ While 1 ;~ Switch GUIGetMsg() ;~ Case $GUI_EVENT_CLOSE ;~ Exit ;~ EndSwitch WEnd Exit