Quantcast
Channel: AutoIt v3 - General Help and Support
Viewing all articles
Browse latest Browse all 12506

Progress bar while file extract (ProcessExists)

$
0
0
I need to extract iso file and /or other archieve formats to usb drive. When the extract process exisist the show the user progress of the process. For extraction i use windows version of bsdtar. The only idea i got is to calculate drive and iso size then create progress bar accordingly. But i am finding it difficult to get the progress bar properly. Code is given below.Any help is appriciated.

Note: Please do not suggest me to use 7zip.

#include <GUIConstants.au3>
#include <GUIConstantsEx.au3>
_PROGRESS ()
Func _PROGRESS ()
$Progress = GUICtrlCreateProgress(8, 56, 417, 25)
$Form = GUICreate("Extracting File", 369, 128, 193, 126)
GUISetState(@SW_SHOW)
$Progress1 = GUICtrlCreateProgress(8, 56, 353, 17)
$close = GUICtrlCreateButton("Close", 200, 88, 75, 25, 0)
$start = GUICtrlCreateButton("Start", 80, 88, 75, 25, 0)
$Dest = "J:\test\"
Const $iTotal_Space = Round (DriveSpaceTotal ( "J:" ))
Const $FILE_SIZE = FileGetSize ( "E:\archieve.iso")
$iIsoSize = Round ($FILE_SIZE / 1048576)
While 1

$msg = GUIGetMsg()
Select

Case $msg = $GUI_EVENT_CLOSE

ExitLoop

Case $msg = $close
ExitLoop

Case $msg = $start

$Extract = Run(@DesktopDir& '\bsdtar.exe -C J:\empty -xf E:\archieve.iso', "", @SW_HIDE)

While ProcessExists($Extract)
$iCurrentSize = Round (DriveSpaceFree( "J:" ))
$iDummyValue = 15252 - $iCurrentSize
$percentage = Round ((($iDummyValue / 280) *100 ))
ConsoleWrite ($percentage)
If $percentage > 0 And $percentage < 101 Then

GUICtrlSetData($Progress1,$percentage)
Sleep (3000)
EndIf
WEnd
EndSelect
WEnd
EndFunc




Viewing all articles
Browse latest Browse all 12506

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>