Simple, Auto-It script works, it can be compiled into a .exe for ease of use:
It just deletes everything except current used DAG and the newest DAG(one going to be used).
I made it because newest genoil ethminer crashes whenever I try to set the autodag deletion feature. On 12 different rigs it crashes =(
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=..\Program Files (x86)\AutoIt3\Icons\MyAutoIt3_Blue.ico
#AutoIt3Wrapper_Change2CUI=y
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
$DAGDIR=FileGetShortName(@LocalAppDataDir & "\ethash")
$DAGDIRCUST=FileGetShortName(@HomeDrive & "\ethash")
While 1
Sleep(2 * 60 * 1000)
ConsoleWrite("Deleting unused DAG files..." & @CRLF)
;FileDelete($DAGDIR & "\*")
;FileDelete($DAGDIRCUST & "\*")
_DeleteDAG($DAGDIR)
_DeleteDAG($DAGDIRCUST)
ConsoleWrite("Deletion complete" & @CRLF)
Sleep(1 * 24 * 60 * 60 * 1000)
WEnd
Func _DeleteDAG($dir)
local $search = FileFindFirstFile($dir & "\*")
local $locked, $prevtime, $curtime
local $newest = 0
local $newestfilename
While 1
$file = FileFindNextFile($search)
;ConsoleWrite($file & @CRLF)
if @error then ExitLoop
$curtime = FileGetTime($dir & "\" & $file, 0, 1)
if $curtime > $newest Then
$newest = $curtime
$newestfilename = $file
EndIf
WEnd
FileClose($search)
$search=""
$search = FileFindFirstFile($dir & "\*")
While 1
$file = FileFindNextFile($search)
if @error then ExitLoop
if $file == $newestfilename then ContinueLoop
FileDelete($dir & "\" & $file)
WEnd
FileClose($search)
EndFunc