EmEditor has a find in all files, find in all open files, and normal find.
Very useful stuff. Even can output the results to it's output bar (at the bottom).
Example search for "FOO" in all sub-folders within "Documents/Autohotkey" of type *.ahk
C:\Users\B\Documents\AutoHotkey\TestCODE\commaTest.ahk(121): MsgBox, % {}foo
C:\Users\B\Documents\AutoHotkey\TestCODE\commaTest.ahk(164): MsgBox, % JoinPath(0, "bar", "foo")
C:\Users\B\Documents\AutoHotkey\TestCODE\commaTest.ahk(165): MsgBox, % JoinPath(1, "foo", "foo")
C:\Users\B\Documents\AutoHotkey\TestCODE\commaTest.ahk(189): e("foo", "bar")
C:\Users\B\Documents\AutoHotkey\TestCODE\commaTest.ahk(201): msgBox % g().("\/").("FOO").("\/").("BAR").([0,1,2,3]*)
C:\Users\B\Documents\AutoHotkey\TestCODE\commaTest.ahk(212): foo:=111
C:\Users\B\Documents\AutoHotkey\TestCODE\commaTest.ahk(214): bar:=!(WinActive("A") == foo) ? "A != aID" : "=="
C:\Users\B\Documents\AutoHotkey\TestCODE\commaTest.ahk(221): ;if n foo(1)
C:\Users\B\Documents\AutoHotkey\TestCODE\commaTest.ahk(230): foo:=1
C:\Users\B\Documents\AutoHotkey\TestCODE\commaTest.ahk(233): foo(1),bar(2)
C:\Users\B\Documents\AutoHotkey\TestCODE\commaTest.ahk(235): foo(0), bar(0)
C:\Users\B\Documents\AutoHotkey\TestCODE\commaTest.ahk(238): foo(n) {
C:\Users\B\Documents\AutoHotkey\TestCODE\LIB\GVarSet.ahk(1): MsgBox, % "G: " . GVarSet("foo", 1)
C:\Users\B\Documents\AutoHotkey\TestCODE\LIB\GVarSet.ahk(2): MsgBox, % "G: " . GVarQuery("foo")
Example Search of regular expression, (FOO.*BAR|BAR.*FOO)
"(FOO.*BAR|BAR.*FOO)" C:\Users\B\Documents\AutoHotkey\*.ahk
C:\Users\B\Documents\AutoHotkey\TestCODE\commaTest.ahk(111): foo:=2, bar:=3
C:\Users\B\Documents\AutoHotkey\TestCODE\commaTest.ahk(112): bar*=foo
C:\Users\B\Documents\AutoHotkey\TestCODE\commaTest.ahk(119): TestF(foo, [(bar)])
C:\Users\B\Documents\AutoHotkey\TestCODE\commaTest.ahk(120): MsgBox, % (foo) ", " (bar)
C:\Users\B\Documents\AutoHotkey\TestCODE\commaTest.ahk(164): MsgBox, % JoinPath(0, "bar", "foo")
C:\Users\B\Documents\AutoHotkey\TestCODE\commaTest.ahk(189): e("foo", "bar")
C:\Users\B\Documents\AutoHotkey\TestCODE\commaTest.ahk(201): msgBox % g().("\/").("FOO").("\/").("BAR").([0,1,2,3]*)
C:\Users\B\Documents\AutoHotkey\TestCODE\commaTest.ahk(214): bar:=!(WinActive("A") == foo) ? "A != aID" : "=="
C:\Users\B\Documents\AutoHotkey\TestCODE\commaTest.ahk(233): foo(1),bar(2)
C:\Users\B\Documents\AutoHotkey\TestCODE\commaTest.ahk(235): foo(0), bar(0)