Eu pensei que deveria haver uma maneira melhor de fazer isso. Descobri que um criador dessa ferramenta se esforça para oferecer suporte a opções de linha de comando e, portanto, criei um pequeno script AutoHotkey que encurta todo o procedimento descrito no primeiro parágrafo para um atalho de teclado.
Nota importante é que o script é testado apenas no Windows7 x64, por isso não posso garantir que funcionará no Windows8, WindowsXP, etc.
O script obviamente precisa que o AutoHotkey esteja instalado na máquina, e o script deve ser executado em cada inicialização do Windows (assim, a maneira mais fácil seria copiar o link para o script ou copiar todo o script na pasta Autostart) para que ele possa capturar o atalho do teclado. O atalho é definido para Win + F, mas pode ser facilmente modificado dentro do script. Uma coisa a ter em mente, o script depende do caminho para o arquivo Everything.exe estar sob este caminho: "C: \ Arquivos de programas \ Everything \ Everything.exe"
Se estiver em outro lugar, modifique essa linha.
Ao escrever este script, usei como backbone, este script: link
que foi o único que encontrei em toda a web, que funcionou na minha máquina e retornou o caminho. Eu ajustei um pouco porque ele usava a palavra literal "Address" desnecessariamente e dependia do idioma local usado no sistema operacional do cliente, o que trazia uma grande limitação, e substituí-lo pela expressão regular para trabalhar em qualquer local (em teoria; )). Também o caminho tinha que ser formatado da maneira certa, então eu mudei isso. Depois disso, adicionei o código relevante para o aplicativo SearchEverywhere e adicionei alguns comentários também.
Para "instalar" o script, você precisa salvá-lo em um arquivo de texto com a extensão .ahk e executá-lo para que ele possa residir em segundo plano.
Assim, para a experiência do usuário, quando estiver tudo pronto, tudo o que você precisa fazer é pressionar o atalho (Win + F) com o Windows Explorer focado e o aplicativo Pesquisar tudo será iniciado com o caminho relevante inserido automaticamente na caixa de pesquisa. Tenha em mente que o Win + F padrão irá acontecer (isso é muito esperado e o comportamento desejado), se a janela atualmente focada no Windows não for exploradora. Se a página atual do explorador for aberta na página "Meu computador", esta chamada será totalmente ignorada.
Funciona muito bem, e espero que seja benéfico para outra pessoa, além de mim. Aproveite.
;////////////////////////////////////////////////////
;\\\\\\\\\\\\\\\\\\\\\\\\\\
;****************************************************
;********* *************
;********* Written by: *************
;********* soyo/Luk *************
;********* *************
;********* Search everything: ver1_0_0 *************
;********* *************
;****************************************************
;\\\\\\\\\\\\\\\\\\\\\\\\\\
;////////////////////////////////////////////////////
SetTitleMatchMode RegEx
return
; Stuff to do when Windows Explorer is open
;
#IfWinActive ahk_class ExploreWClass|CabinetWClass
; When user presses Win+F in an explorer window, we Search Everything within this path
; If Other shortcut is required, it can be changed here
;
#f::
SearchEverythingInPath()
return
#IfWinActive
; Invokes Search Everything app with the current path as the path argument
; Note: expecting to be run when the active window is Explorer.
;
SearchEverythingInPath()
{
; This is required to get the full path of the file from the address bar
WinGetText, full_path, A
; Split on newline ('n)
StringSplit, word_array, full_path, 'n
; Find and take the element from the array that contains address
Loop, %word_array0%
{
FoundPrefixOccurance := RegExMatch(word_array%A_Index%, ".*:\*")
if(FoundPrefixOccurance > 0)
{
full_path := word_array%A_Index%
break
}
}
; strip to bare address
full_path := RegExReplace(full_path, "^" ".*: ", "")
; Just in case - remove all carriage returns ('r)
StringReplace, full_path, full_path, 'r, , all
IfInString full_path, \
{
; We remove the last backslash if there is any in the stipped path, this happens when the path is a root of a partition so
; for example "C:\"
full_path := RegExReplace(full_path, "\$" "" )
; After we are sure we have a stripped path without the backslash at the end, now we can safely add a backslash
full_path = %full_path%\
; We run Search Everything with the path atribute
Run, "C:\Program Files\Everything\Everything.exe" -p "%full_path%"
}
else
{
}
}