mcgill Posted July 16, 2012 Share Posted July 16, 2012 I am trying to use the code below to pull certain field data from a WIM file, but it keeps returning empty fields. If I manually run the command or pump it to a text file I know it is working and the array is also not empty. For some reason don't know why _Stringbetween is not grabbing the value. Any help would be appreciated, thanks Func PollImageInfo($read, $y) Dim $nitem Dim $imageinfo = " " ; $read = GUICtrlRead($hApplySourceEdit) ;MsgBox(0, "DEBUG $read", $read) $sCmd = "imagex.exe" If $read = "" Then MsgBox(48, "Input required", "Please select the source") Else $sCmd = $sCmd & ' /info "' & $read & '"' EndIf ;MsgBox(0, "scmd", $sCmd) Dim $ret = Run(@ComSpec & " /c " & $sCmd & '"', @ScriptDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD) While 1 $line = StdoutRead($ret) If $line = "" Then ExitLoop $imageinfo = $imageinfo & $line ;MsgBox(0, "RunDOS", $line) If @error Then ExitLoop WEnd _GUICtrlTreeView_DeleteAll($treeview) $aImageInfo = _StringBetween($imageinfo, "<NAME>", "</NAME>") If @error Then $aImageInfo = _ArrayCreate("<Empty>") $aImageDesc = _StringBetween($imageinfo, "<Description>", "</Description>") If @error Then $aImageDesc = _ArrayCreate("<Empty>") $aImageFileCount = _StringBetween($imageinfo, "<Filecount>", "</Filecount>") If @error Then $aImageFileCount = _ArrayCreate("<Empty>") $aImageSize = _StringBetween($imageinfo, "<TOTALBYTES>", "</TOTALBYTES>") If @error Then $aImageSize = _ArrayCreate("<Empty>") ;$aImageBuild = _StringBetween ( $imageinfo, "<Build>", "</Build>" ) ; If @error Then $aImageBuild = _ArrayCreate("<Empty>") $imagenumber = UBound($aImageInfo, 1) If @error Then $imagenumber = _ArrayCreate("<Empty>") $x = 0 Dim $nitem[$imagenumber] If $y = 0 Then ;MsgBox(0, "DEBUG", $y) Do $iName = $aImageInfo[$x] $iDesc = $aImageDesc[$x] $iFiles = $aImageFileCount[$x] $iSize = $aImageSize[$x] GUICtrlSetData($hInfoNewName, $iName) GUICtrlSetData($hInfoNewDesc, $iDesc) GUICtrlSetData($hInfoFileCount, $iFiles) GUICtrlSetData($hInfoFileSize, $iSize) $x = $x + 1 Until $x = $imagenumber $z = $x Else Do $iName = $aImageInfo[$x] $iDesc = $aImageDesc[$x] $iFiles = $aImageFileCount[$x] $iSize = $aImageSize[$x] GUICtrlSetData($hInfoNewName, $iName) GUICtrlSetData($hInfoNewDesc, $iDesc) GUICtrlSetData($hInfoFileCount, $iFiles) GUICtrlSetData($hInfoFileSize, $iSize) $x = $x + 1 Until $x = $y EndIf $iCount = $x GUICtrlSetData($hInfoNumber, $iCount) EndFunc ;==>PollImageInfo Link to comment Share on other sites More sharing options...
mcgill Posted July 16, 2012 Author Share Posted July 16, 2012 Nevermind, figured it out. Link to comment Share on other sites More sharing options...
JohnQSmith Posted July 16, 2012 Share Posted July 16, 2012 Nevermind, figured it out. Now you just need to figure out how to use the [autoit] and [/autoit] tags when posting code. Tripredacus 1 Whenever someone says "pls" because it's shorter than "please", I say "no" because it's shorter than "yes". Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now