Jump to content

Getting %errorlevel% returns


Recommended Posts

Hello, I seem to be having trouble with getting %errorlevel% codes from the cmd prompt. I'm trying to add some error checking to a script. Here's a snipit:

Local $logfile = "D:\scripting_tests\build_log.txt"

_RunDOSDelay('ipconfig','IPCONFIG')
_RunDOSDelay("C:\Windows\System32\inetsrv\appcmd set config /section:defaultDocdument /-files.[value='default.asp']","IIS!")

Func _RunDOSDelay($cmd, $program = "")

_RunDos($cmd)
If @error Then
MsgBox(4096, "Value", @error)
WriteLog("Unable to install a program - " & $program)
Else
MsgBox(4096, "Value", @error)
WriteLog($program & " - Completed Successfully!")
EndIf
Sleep(6000)
EndFunc ;==>_RunDOSDelay

Func WriteLog($notice)
If Not FileExists($logfile) Then
_FileCreate($logfile)
EndIf
_FileWriteLog($logfile, $notice, -1)
Return
EndFunc ;==>WriteLog

I've tried several things to do this (compiling as CUI, using RunWait in combination with RunDos) and just can't seem to get it. In the above example, I purposefully made a type to hopefully get it to return an error. I also tried running "%errorlevel% after the command on the same window; I always seem to get a return saying the command completed successfully, even though it didn't. Any help would be appreciated! I've done a lot of searching, but maybe I'm just overlooking the answer and need a nudge in the right direction. :mellow:

Link to comment
Share on other sites

Read the manual on _RunDos, it returns the exit code of the command. That's the same value as %ERRORLEVEL% gets set to.

#include <Process.au3>
Global $iErrorLevel =_RunDos('ipconfig')
MsgBox(0,'', 'exit code: ' & $iErrorLevel & @CRLF & '@error: ' & @error)
$iErrorLevel =_RunDos('ipconfi') ; Typo!
MsgBox(0,'', 'exit code: ' & $iErrorLevel & @CRLF & '@error: ' & @error)
$iErrorLevel =_RunDos('ipconfig /wtf') ; Switch doesn't exist!
MsgBox(0,'', 'exit code: ' & $iErrorLevel & @CRLF & '@error: ' & @error)

[center]Spiderskank Spiderskank[/center]GetOpt Parse command line options UDF | AU3Text Program internationalization UDF | Identicon visual hash UDF

Link to comment
Share on other sites

Going back to basics, you should look at RunWait in the help too.

UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...