I'm using autohotkey and try to do this:

  • Open download folder (Q:\Down in my case) or activate it if already opened (subfolders don't count, for example still open Q:\Down if I opened Q:\Down\phvideos already)

Script I'm using

Run "Q:\Down"


Run % "explorer /expand, Q:\Down\"

Both of them can open such a folder, but activate it again will open a duplicate window in explorer.

Is there any command that opens unique folder, or detects if given folder path exists in an opened explorer window?

  • The first example is exactly what I use to do this for a local folder. I don't use quotes on either end but I wouldn't expect that to matter. It may be different for folders that are on the same drive where Windows is installed but that would also be surprising. Run should work the same way the shell's Run command works. Commented May 7, 2022 at 13:34
  • It works, wtf I was doing by searching the Internet for 3 hours, I already got the solution already lol....dunno why it didn't work when I test it the first time, thanks dude
    – Byzod
    Commented May 7, 2022 at 13:39

2 Answers 2


If you have the option

"Display the full path in the title bar" enabled,

you can use

SetTitleMatchMode, 3
If WinExist("Q:\Down ahk_class CabinetWClass")
    Run % "explorer /expand, Q:\Down\"

Otherwise you can try this:


Run_explorer(path) {
    If InStr(explorer_list(), path)
        Loop, Parse, % explorer_list(), `n
            If InStr(A_LoopField, path)
                ID := StrSplit(A_LoopField,"_").1
                WinActivate, ahk_id %ID%
        Run % path

explorer_list() {
    ; Get ID + fullpath of all opened explorer windows:
    If WinExist("ahk_class CabinetWClass") ; explorer
        list := ""
        ; https://autohotkey.com/boards/viewtopic.php?p=28751#p28751
        for window in ComObjCreate("Shell.Application").Windows
            try explorer_path := window.Document.Folder.Self.Path
            If (explorer_path = "")
            WinGet, ID, ID, % explorer_path
            list .= ID "_" explorer_path ? ID "_" explorer_path "`n" : "" 
        list := trim(list, "`n")
        return list

I already forgot this question lol, this is my script rn, to help future users

global DOWNLOAD_FOLDER := "K:\Down"
; win + q   Open Down
    downWinTitle := "Down ahk_class CabinetWClass"
    WinGet explorerHwnd, ID, % downWinTitle
    path := GetExplorerPath(explorerHwnd)
    if(!explorerHwnd || path != DOWNLOAD_FOLDER){
        Run % "explorer /expand, " . DOWNLOAD_FOLDER
        WinWait % downWinTitle
        WinGet explorerHwnd, ID, % downWinTitle
    WinActivate % "ahk_id " . explorerHwnd

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .