Sign in to follow this  
Followers 0
ChaoticBlue

Getting %errorlevel% returns

6 posts in this topic

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:

Share this post


Link to post
Share on other sites



Hi,

Without trying to fix your code, why don't you try the Run function? You can then use the stderr function.

Br, FireFox.


 

OS : Win XP SP2 (32 bits) / Win 7 SP1 (64 bits) / Win 8 (64 bits) | Autoit version: latest stable / beta.
Hardware : Intel(R) Core(TM) i5-2400 CPU @ 3.10Ghz / 8 GiB RAM DDR3.

My UDFs : Skype UDF | TrayIconEx UDF | GUI Panel UDF | Excel XML UDF | Is_Pressed_UDF

My Projects : YouTube Multi-downloader | FTP Easy-UP | Lock'n | WinKill | AVICapture | Skype TM | Tap Maker | ShellNew | Scriptner | Const Replacer | FT_Pocket | Chrome theme maker

My Examples : Capture toolIP Camera | Crosshair | Draw Captured Region | Picture Screensaver | Jscreenfix | Drivetemp | Picture viewer

My Snippets : Basic TCP | Systray_GetIconIndex | Intercept End task | Winpcap various | Advanced HotKeySet | Transparent Edit control

 

Share this post


Link to post
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

Share this post


Link to post
Share on other sites

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


_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_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: 04/09/2015

Share this post


Link to post
Share on other sites

Thanks for the suggestions, I'll take a look at the tips. Appreciate it!

Share this post


Link to post
Share on other sites

I changed to using $iErrorLevel as Dany suggested and was able to get everything I need. Much appreciated!

Share this post


Link to post
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
Sign in to follow this  
Followers 0