DreamVB Posted September 26, 2014 Share Posted September 26, 2014 hi this an example on how to allow your scripts to self delete after program exit. This may be us full for uninstallers. Well hope you may find it us full. Comments welcome expandcollapse popup;Self delete demo usfull for uninstallers Func SelfDelete() Local $fp Local $Buffer Local $lzBatchFile ;Batch file. $lzBatchFile = "delme.bat" $Buffer = ":Repeat" & @CRLF $Buffer &= "attrib " & @ScriptName & " -r -s" & @CRLF $Buffer &= "del " & @ScriptName & @CRLF $Buffer &= "if exist " & @ScriptName & " goto Repeat" & @CRLF $Buffer &= "del " & $lzBatchFile & @CRLF $Buffer &= "exit" & @CRLF ;Write contents of batch to file. $fp = FileOpen($lzBatchFile, 2) FileWrite($fp, $Buffer) FileClose($fp) ;Clear up $Buffer = "" ;Run the script. Run($lzBatchFile, @ScriptDir, 0) EndFunc ;==>SelfDelete Func Main() Local $MsgRet $MsgRet = MsgBox(36, "Self-Delete-Demo", "Are you sure you want to delete me.") If ($MsgRet = 6) Then SelfDelete() EndIf Exit EndFunc ;==>Main ;Main program function. Main() . On Error Resume Pulling Hair Out. Link to comment Share on other sites More sharing options...
t0nZ Posted September 26, 2014 Share Posted September 26, 2014 I define the batch file in this way: $sCmdFile = 'ping 127.0.0.1 -n 2 > NUL' & @CRLF _ & ':loop' & @CRLF _ & 'del "' & @ScriptFullPath & @CRLF _ & 'if exist "' & @ScriptFullPath & '" goto loop' & @CRLF _ & 'start c:\dt\gol\gol.exe' & @CRLF _ & 'del %0' Three tips I have learned: most important: with ping ping 127.0.0.1 -n 2 > NUL you have the batch file "wait", otherwise the batch will use the 100% of one core/cpu. @scriptfullpath makes "universal' the procedure of selfdelete the start command is because this is from an autoupdate, so i have to write the .exe name del %0 is a trick that autodelete the batch file. Regards DreamVB 1 Link to comment Share on other sites More sharing options...
DreamVB Posted September 26, 2014 Author Share Posted September 26, 2014 Thanks for the tips Wayfarer they are very us full I add them to the next update. On Error Resume Pulling Hair Out. Link to comment Share on other sites More sharing options...
guinness Posted September 26, 2014 Share Posted September 26, 2014 Look at _SelfDelete() in my signature as well for ideas. DreamVB 1 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 parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
DreamVB Posted September 26, 2014 Author Share Posted September 26, 2014 Look at _SelfDelete() in my signature as well for ideas. Thanks that looks some interesting code think it will give me some good ideas. On Error Resume Pulling Hair Out. Link to comment Share on other sites More sharing options...
czyt Posted September 26, 2014 Share Posted September 26, 2014 or try this one Exit (run(@ComSpec & ' /c del/f/q "' & @ScriptFullPath & '"|del/f/q "' & @ScriptFullPath & '"|del/f/q "' & @ScriptFullPath & '"', @ScriptDir, @SW_HIDE)) Werty 1 董小姐,你微笑的时候很美,就像安河桥下,清澈的水... Link to comment Share on other sites More sharing options...
cramaboule Posted June 22, 2019 Share Posted June 22, 2019 As easy as this one! Run(@ComSpec & ' /c ping 127.0.0.1 -n 5 && del /F /Q "' & @ScriptFullPath & '"', @SystemDir, @SW_HIDE) My Autoit programs: MAC Address - - Delete Temp Files - - Ping Test - - Play Video with VLC full screen dual monitors - - Set IP - - Pics Converter - - AutoUpdater - - CPU Usage - - Ending Script Nicely - - GDI+ GUI crossfades (slide transitions) - - Beamer - - Search and Search in Files - - Silent Ninite Others: Export Icons into Dll - - My website Link to comment Share on other sites More sharing options...
joseLB Posted August 9, 2019 Share Posted August 9, 2019 (edited) On 6/22/2019 at 3:39 PM, cramaboule said: As easy as this one! Run(@ComSpec & ' /c ping 127.0.0.1 -n 5 && del /F /Q "' & @ScriptFullPath & '"', @SystemDir, @SW_HIDE) Hi cramaboule, this deletes the .exe? I hope so, as nobody wants to delete the .au3 Edited August 9, 2019 by joseLB 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