try this AHK code...
you will be prompted for a starting directory and a filter file
script will search through and display a list of offending folders in a small gui (list)
note that I have assumed that each folder should be considered in isolation, ie a folder that doesn't contain the selected file but does contain a subfolder containing it is still considered to NOT contain the file
nothing fancy, but it should get you started
loop, parse, a_loopfilefullpath
{
if a_loopfield = \
L1++
}
loop, %source%\*.*, 2, 1
{
error = 0
loop, %a_loopfilefullpath%\%myVAR%, 0, 0
{
error:= 1
Break
}
if error = 0
mylist.= a_loopfilefullpath . "`n"
}
sort, mylist, CL U
menu, print, add, Print
menu, ToFile, add, To_File
;menu, ToHTML, add, To_HTML
menu, menubar, add, print
menu, menubar, add, To_File
;menu, menubar, add, To_HTML
gui, menu, menubar
gui, add, listview, r20 w750 grid nosort gClickMe, Folder
loop, parse, mylist, `n
{
lv_ADD("",a_loopfield)
}
gui, add, statusbar,, source folder - %source%
gui, show
return
guiescape:
guiclose:
exitapp
print:
fileappend, %mylist%, c:\temp\Tmp.txt
runwait, print c:\temp\Tmp.txt,,hide
filedelete, c:\temp\Tmp.txt
return
to_file:
filedelete, %source%\ex-files.txt
fileappend, %mylist%, %source%\ex-files.txt
return
ClickMe:
if a_guievent = DoubleClick
{
lv_GetText(myFolder,A_eventinfo)
run %myfolder%
}
return
#r::reload
EDIT: updated source