mr-es335 Posted November 17, 2023 Share Posted November 17, 2023 (edited) Good day, I have a script that I have been using in a batch file, that I need to convert to AutoIt...and am having some difficulties. • My main issues are in getting around the issue of NOT using GOTO!! What i have here is the "logic" [I hope?!]...hat I am attempting to achieve... Check if folder exists, if so, then continue [goto continue] If the folder does not exist, then say so, then... [goto skipped1] [continue] If folder exists then attempt deletion [delete folder?] If the folder deletion was successful, then... [goto skipped2] If folder cannot be deleted then... [goto log-off] [skipped1] [blah, blah] Exit [skipped2] [blah, blah] Exit [log-off] [blah, blah] [After log-on, repeat the above until sucessful] The use of [log-off] I find is needed in that the application that I am attempting to delete has a single data file that does not permit deletion until a log-off is performed. However, this issue should not really change the above "logic" in any whatsoever. I have been attempting to use functions, but am getting lost in the weeds here! Any assistance in this matter would be greatly appreciated! Edited November 17, 2023 by mr-es335 mr-es335 Sentinel Music Studios Link to comment Share on other sites More sharing options...
Danp2 Posted November 17, 2023 Share Posted November 17, 2023 21 minutes ago, mr-es335 said: I have been attempting to use functions, but am getting lost in the weeds here! That is what I was going to suggest. Why not post your attempt to code in AutoIt so that we can see it? Latest Webdriver UDF Release Webdriver Wiki FAQs Link to comment Share on other sites More sharing options...
Solution Subz Posted November 17, 2023 Solution Share Posted November 17, 2023 Basic example, untested. ;~ Folder Path Local $sFolder = "C:\Folder" ;~ Check if folder exists If FileExists($sFolder) Then ;~ Result is true, delete folder + files and subfolders Local $bDirRemove = DirRemove($sFolder, 1) ;~ Force logoff if the deletion was unsuccessful If $bDirRemove = False Then Shutdown(4) ;~ If folder deletion was successful then show msgbox and exit MsgBox(4096, "Result", "Folder Deleted Successfully") Exit Else ;~ If the folder doesn't exist, msgbox and exit MsgBox(4096, "Result", "Folder does not exist") Exit EndIf mr-es335 1 Link to comment Share on other sites More sharing options...
mr-es335 Posted November 18, 2023 Author Share Posted November 18, 2023 Subz, So, I took your example, tried to understand the "logic" behind it...and then came up with the following: First, the first iteration: ; ----------------------------------------------- #include <AutoItConstants.au3> #include <FileConstants.au3> #include <FontConstants.au3> #include <GUIConstantsEx.au3> #include <MsgBoxConstants.au3> ; ----------------------------------------------- Uninstall_SAW() Func Uninstall_SAW() Local $src_folder_saw = "C:\SAWStudio64Demo" ; ----------------- DirRemove($src_folder_saw, $DIR_REMOVE) EndFunc ;==>Uninstall_SAW ; ----------------- Then the updated iteration: ; ----------------------------------------------- #include <AutoItConstants.au3> #include <FileConstants.au3> #include <FontConstants.au3> #include <GUIConstantsEx.au3> #include <MsgBoxConstants.au3> ; ----------------------------------------------- Uninstall_SAW() Func Uninstall_SAW() Local $src_folder = "C:\SAWStudio64Demo" ; ----------------- If FileExists($src_folder) Then Local $bDirRemove = DirRemove($src_folder, 1) If $bDirRemove = False Then Shutdown(0) ; ----------------- MsgBox(4096, "Result", "Folder Deleted Successfully") Exit Else MsgBox(4096, "Result", "Folder does not exist") Exit EndIf EndFunc ;==>Uninstall_SAW ; ----------------------------------------------- Comparing your version to mine...this is what is observe: [1] Check if folder exists [3] If folder exists then attempt deletion [5] If folder cannot be deleted then [8] [log-off] [4] If the folder deletion was successful, then... [2] If the folder does not exist then This might take me a-moment-or-two to truly understand what you have done...! Thanks for this, Subz...very much appreciated! mr-es335 Sentinel Music Studios 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