Skip to content

Imagine you want to open/save a file. A dialog box will appear and you will need to manually search for the target folder. QuickSwitch can open it instantly:

Open any tabs in supported file managers: Windows Explorer, Directory Opus, Total Commander, XYplorer. All opened tabs will be available in the Menu for switching, press Ctrl+Q to open the Menu. Pin and save your favorite paths and open them later in any file manager or application.

Enable "AutoSwitch" option to automatically change path in file dialog:

And of course you can customize the Menu:

Now you can install QuickSwitch or explore advanced customization options!

Installation

Release Downloads

  1. Download the latest x64 or x32 archive depending on your system architecture. If you don't know it, start with the x64 version. It is not recommended to run the x32 version on an x64 machine!
  2. Create a directory named QuickSwitch, copy downloaded archive here and select "extract here" from the context menu. Follow the same steps to update the app. The .ini configuration will never be replaced.
  3. Run QuickSwitch.exe. Open some tabs in a supported file manager or create .lnk files in .\Favorites.
  4. Open any application and try to open\save a file using it. E.g., open Notepad then File - Open... (or press Ctrl+Shift+S).
  5. Press Ctrl+Q and look at the paths in the Menu that opens. All directories opened in supported file managers will be displayed here.
  6. Explore the available options in the "Settings" and experiment with them. Choose a convenient style and logic of the menu!

installation video

Appearance

Menu sections

In addition to the paths from the file managers, you can enable special paths on Settings > Theme tab. Each special path can be switched automatically when file dialog opens.

Pinned

Pinned paths (that are always visible)

If you want some paths to appear permanently in the Menu, you can pin them. To do this, enable the Settings > Theme > Show pinned paths option and select a key or mouse button on Settings > App > Pin path.... Close the settings and open the Menu. Hold down the selected key and left click on any path. Now it is pinned and it will be stored in the configuration. You will see this path on every restart.

If you turn this option off, the pinned paths will no longer be displayed. If you turn this option on again, all pinned paths will be displayed again. If you want to delete all pinned paths, check Settings > Reset > Delete favorite paths and press Enter.

If you want to see the duplicate paths disable the Settings > Menu > Delete duplicate paths option (e.g. if you have a pinned path, but also want to quickly find it visually in the Menu by file manager icon).

Clipboard

Paths from clipboard (temporary, for a single file dialog)

You can copy any file or directory path (or any variable) and it will appear in the Menu. All copied paths will remain in the Menu until you open the file dialog in another application. If you want some paths to appear permanently, pin them.

Clipboard paths

Copied paths will not disappear if you enforce the Menu to appear using Ctrl+Shift+Win+0. It can help you to open the copied paths in multiple applications. If you copy the path to a file, QuickSwitch will use the directory with that file by removing everything after the last slash \.

The option works in the background and analyzes the clipboard for the presence of a path when changing it. If several paths separated by line breaks (multi-line text) have been copied, they will be added to the Menu individually.

Clipboard paths

Background analysis is temporarily disabled when requesting paths from other file managers (if the Settings > Theme > (Show) file managers paths option is enabled), as their data is exchanged via the clipboard. If the request takes a very long time (e.g., QuickSwitch creates the configuration for Total Commander), clipboard analysis will be turned off until all paths are fully received.

Favorites

Favorite paths (with customizable icons and names)

If you have many paths and you want to change how they are displayed in the Menu, enable the Settings > Theme > Show favorite paths option. This option works with .lnk shortcuts (links). In the input field next to it, enter the directory from which the shortcuts will be taken. You can use variables.

Press Enter and open specified directory. Create .lnk shortcut to any directory or file. If the shortcut points to a file, its location will be shown in the Menu. Right click on created shortcut, select "properties" and click on the "shortcut" tab.

properties

You will see editable fields that will directly affect the display of the shortcut in QuickSwitch:

  • Target
  • Start in (working dir.)
  • Comment
  • Change icon (button)

The "target" field is the main path you will see. The "start in" field will only be used if the "target" field is empty. Even if the "target" points to a file, QuickSwitch will use the file directory by removing everything after the last slash \. You can change the displayed path and give it any name you want in the "comment" field. This field takes precedence over displaying the full or short path (Settings > Short path). All fields support variables.

Let's put the ScriptName variable in the "comment" field. The Menu will show the internal QuickSwitch name for the shortcut named "MyFavoritePath".

shell32 example

If you leave the "comment" field empty, the Menu will show the Temp variable value from "target" field (e.g. path to C:\Temp).

You can put the path to ICO, CUR, ANI, EXE, DLL, CPL, SCR and other resource that contains icons. For example I chose the system icon "shutdown" from shell32.dll, however I could choose ICO from the "Icons" folder. You can create as many shortcuts as you like and customize each one.

recusrsive favorites

If you have many shortcuts, you can give them names (e.g. "MyFavoritePath") that will not be visible in the Menu and arrange them in directories. Regardless of the directory structure of your favorite paths, QuickSwitch will display all .lnk files from all directories.

structure

You can hide some shortcuts by changing or removing their extension. If there are a lot of shortcuts and you don't need them anymore, check Settings > Reset > Delete favorite paths. After pressing the Enter button, your shortcuts will be placed in the trash. You will be able to restore them before emptying the trash can.

File Managers

Tabs and panes

The main paths that you will see immediately after installation are sourced from one of the supported file managers. You can "filter" the visible paths using options on Settings > theme tab. All these options can be combined to create a "filter" and change AutoSwitch behavior. Currently, they are global and are not bound to each file dialog individually.

  • Active pane: many file managers, with the exception of Windows Explorer, have one or more panes. If you have many tabs open in each pane, you can choose to display only the tabs in the active pane. If "Active Tab" option is checked, "Active Pane" option would be ignored. That's it, the active tab will be the first one from each manager regardless of this option.

  • Active tab: only the active tab from each manager will be displayed. If the adjacent "Show locked tabs" is checked and all tabs from the active pane of some manager are locked, paths from it not be displayed.

  • Locked Tabs: in XYplorer and Total Commander, you can lock a tab's address. Once this is done, its path cannot be changed. Such tabs are sometimes referred to as "pinned" tabs. If you do not want them to be displayed, disable this option.

Listers and virtual desktops
  • Z-order index: If you've seen the windows when pressing Alt+Tab, you've noticed that they appear in order of most recent use (Z-order).
┌─────────────────────────────────────┐
│  Top of Z-Order (Foreground)
│  ┌─────────────────────────────────┐
│  │ Window 1 (Active, On Top)
│  └─────────────────────────────────┘
│  ┌──────────────────────┐
│  │ Window 2 (Middle)
│  └──────────────────────┘
│  ┌──────────────────────┐
│  │ Window 3 (Behind)
│  └──────────────────────┘
│  Bottom of Z-Order (Background)
└─────────────────────────────────────┘

By default it's set to 0 - all windows. The most recently opened window will be first (index 1). Each open file manager window has a sequence number (index), and you can set it to display paths from that window only. So the last opened window has index 1, recently opened has 2, and so on. So Z-order index 2 means "display tabs from previous active window" (not the active one).

z-order

QuickSwitch counts index individually for each file manager. Therefore, if you have, for example, 2 XYplorer windows, you can set Z-order index to 1 or 2 even if there are other windows in-between. Windows from other apps are ignored.

┌─────────────────────────────────────┐
│  ┌─────────────────────────────────┐
│  │ XYplorer 1 (Active)
│  └─────────────────────────────────┘
│  ┌──────────────────────┐
│  │ Window 1 (Middle)
│  └──────────────────────┘
│  ┌──────────────────────┐
│  │ XYplorer 2 (Recent)
│  └──────────────────────┘
│  ┌──────────────────────┐
│  │ DOpus 1 (Recent)
│  └──────────────────────┘
│  ┌──────────────────────┐
│  │ DOpus 2 (Old)
│  └──────────────────────┘
└─────────────────────────────────────┘
  • Virtual desktops: displays all paths from all file managers if the Z-index is 0 (see above) or displays the paths from lister according to the selected Z-index. If you recently opened a file manager on another desktop, select index 2 to see its paths.

virtual desktops

Short path

Any path can be shortened to a specified number of directories with limited name length: System32\Resources or even Sys..\Res... The path shortening settings on Settings > Short Path‬ tab allows you to completely change a path structure.

Short path examples

For example, enter number 2 in the Number of dirs field on the ShortPath tab. If the path to the menu will contain more than 2 directories (C:\Windows\System32\Resources), it will be shortened to 2 directories: System32\Resources

By default ShortPath cuts the beginning of the path. Shorten the end option cuts the end of the path.

Enter number 3 in the Length of dir names field on the same tab to limit the length of each directory in the path to 3 symbols: Sys..\Res... Increase this number to see their full names.

Also you can include the disk letter at the beginning or change the separator between directories to anything, e.g. tilda ~: W:~Windows~System32

Settings

Enforce Menu

You can show the Menu everywhere:

  • Press default shortcut Ctrl+Shift+Win+0 (can be changed on Settings > App tab).
  • Click on tray icon
  • Right click on tray icon -> "Menu"

This shortcut can be changed to any mouse button or keyboard shortcut or even special key like CapsLock. You can use this feature to open new tab in file manager or change working path in active application.

How to use this feature

This feature is known as "enforce menu" because it forces the menu to appear in any work application or file manager, even if there is no file dialog.

To understand how this works, let's look at an example. I opened C:/Junk/CPP tab in XYplorer and switched to Total Commander. Clicking the icon in the system tray or pressing the Ctrl+Shift+Win+0 keyboard shortcut (can be changed on Settings > App tab) brought up the Menu showing my pinned paths and the tab from XYplorer. Now, by selecting any path, I can switch the active tab in Total Commander.

It allows me to duplicate paths between file managers, open bookmarks or recently copied paths. You can customize your bookmarks and then open them in any file manager. And for active work, you can copy paths (for example, the path to the active tab or the path to a file) and open them all at once using "enforce menu" feature.

As this folder contains my C++ projects, let's open the IDE. Once the menu appears, I can select this path to open all my files.

This way, I can open different projects, and their locations will be stored in QuickSwitch. I can open the same project in Clion, VS Code and Notepad++.

The menu will display the paths obtained after the last opening of the file dialog and will not change them until the next opening. The menu will be empty the first time it is opened. Pin and save your favorite paths so you can always see them.

File Dialogs

On Settings > Menu tab, you can configure the Menu's behavior for all file dialogs. For example, select "(Show menu) always" so that the Menu opens automatically in every file dialog. There are two options that are specific to each dialog.

Auto Switch

QuickSwitch can work without Menu in "AutoSwitch" mode. In this mode, the path changes immediately when the focus moves to the file dialog. You can switch between the open file dialog and the file manager to quickly open file paths. To activate this mode, open the Menu by pressing Ctrl+Q and select "AutoSwitch" (or press A). To enable it for all dialogs, open Settings > Menu tab, and select "Always Auto Switch".

Configure AutoSwitch

AutoSwitch switches to the 1st path found from the active file manager:

┌----------------------------┐
│  ┌----------------------┐
│  │ Window 1
│  └----------------------┘
│  ┌----------------------┐
│  │ Explorer  <--
│  └----------------------┘
│  ┌----------------------┐
│  │ Window 2
│  └----------------------┘
│  ┌----------------------┐
│  │ XYplorer
│  └----------------------┘
└----------------------------┘

To change this behavior, you can modify the path index and the menu section on Settings > Menu tab.

AutoSwitch [index of the path] path from [menu section]

The combination of the index and the section (the source from which to retrieve the path) allows for flexible use of AutoSwitch. For example, if file managers are closed, it may activate the copied path. Or if there is a pinned path, always activate it. To understand what a menu section is, let's look at some examples.

The simplest section is the MenuStack: autoswitch to the 1st path visible in the Menu. ManagersPaths - autoswitch to the 1st tab, counting from the left. PinnedPaths – autoswitch to the 1st pinned path, counting from the top". For all sections except ManagersPaths, the path is counted from the top. You can enable sections on the adjacent themetab.

You can select MenuStack to activate the first path found in the Menu. This is the most dynamic section, because AutoSwitch can activate different path depending on a situation. For example, if you have at least one pinned path, AutoSwitch will activate that path:

Menu stack (pinned paths on top)
┌----------------------------┐
│ Pinned paths
│  ┌----------------------┐
│  📎 Pinned path 1 <--
│  └----------------------┘
│ Managers paths
│  ┌----------------------┐
│  📰 Explorer path 1
│  └----------------------┘
│  ┌----------------------┐
│  📰 Explorer path 2
│  └----------------------┘
└----------------------------┘

If you unpin it and open any file manager, the path that was found will be activated:

Menu stack (found paths on top)
┌---------------------------┐
│ Managers paths
│  ┌----------------------┐
│  📰 Explorer path 1 <--
│  └----------------------┘
│  ┌----------------------┐
│  📰 Explorer path 2
│  └----------------------┘
│ Clipboard paths
│  ┌----------------------┐
│  📋 Clipboard path 1
│  └----------------------┘
│  ┌----------------------┐
│  📋 Clipboard path 2
│  └----------------------┘
└----------------------------┘

The most predictable section is the PinnedPaths. If you've pinned a path and don't change it, AutoSwitch will always activate only that path.

If the section is empty, nothing will happen (for example, if you did not pin the path).

Options on Settings > Menu tab does not conflict with AutoSwitch: first, the path will switch automatically, and then a menu will open.

To expand the power of "Auto Switch," select the Z-order index on the theme tab.

Black List

If you don't want to see the Menu or AutoSwitch in the current file dialog, open the menu and select "BlackList" (or press B). The Menu will still be accessible via Ctrl+Q and through tray icon.

Black List all dialogs of specific app

If you want to prevent the menu from appearing in all file dialogs of the current application (for example, when opening or saving a Word document), open the Settings > Menu tab and select "Add file dialog owner process name to Black List". After that, every time you click "Black List the Menu will not appear in all dialogs from this application and AutoSwitch mode will not be activated.

┌-------------------------------------┐
│ Word                           - o x
│  ┌---------┐
│  │ Save as │ Exclude
│  └---------┘
│  ┌---------┐
│  │ Open    │ Exclude
│  └---------┘
│ Black List now adds all dialogs
└-------------------------------------┘

Disable this option to return to adding only file dialogs to the exclusion, not the owner process name.

┌-------------------------------------┐
│ Word                           - o x
│  ┌---------┐
│  │ Save as │    Black List only this
│  └---------┘
│  ┌---------┐
│  │ Open    │    Black List only this
│  └---------┘
└-------------------------------------┘

Keyboard

Each option and button in the settings has a corresponding key. Take a closer look: each name has an u̲n̲d̲e̲r̲l̲i̲n̲e̲d̲ l̲e̲t̲t̲e̲r̲. Press this letter on the keyboard to jump to the option. For example: C̲ancel – C; Path s̲eparator – S.

Here is a short list of the main keys:

  • Path: 0-9.
  • Auto switch: A
  • Black list: B
  • Settings: S
  • Hide menu: Esc / click anywhere

Each path in the Menu has underlined prefix. Press the underlined key on your keyboard to activate this path. For example: "1 C:\Windows" – press 1 to activate this path.

Underlined letters examples 2 Windows\System32 – press `2` to activate this path.

The first letter of the path will be underlined in the Menu if Menu > Paths numbers with shortcuts option is turned off or the number of paths in the Menu is greater than 9:

C̲:\Windows – press C to activate this path.

You can customize underlined prefix on Settings > Short Path tab:

.̲.̲Windows – press . to activate this path.

~̲Windows – press ~ to activate this path.

For other actions like "Show Menu" you can set shortcut or special key on Settings > App tab. You can even select CapsLock or Win key in the settings or the middle mouse button. While the file dialog is open, keys such as Space, Win, CapsLock and so on will not work as usual so that you can use them. Press space to disable specific hotkey.

Mouse

To select mouse button press mouse on App tab and select item from drop-down list. You can select mouse buttons Right, Left, Middle, Forward and Backward (also known as BrowserBack or XButton1) and their combinations with keyboard modifiers like Ctrl+Right or Shift+Backward (Alt key hides menu by default, so it's not presented here).

mouse selection

Press mouse -> keybd UI button to switch back to the keyboard hotkey input. Press space to disable specific hotkey.

keyboard input

Variables

In the settings you can select the paths to the desired directories (e.g. icons).

You can use an absolute path (C:\QuickSwitch\Icons) or a path relative to the current QuickSwitch location (Icons) as the path. You can use variables in paths: environment variables; built-in AutoHotkey variables; declared QuickSwitch variables. Enclose the variables in percent signs %.

Examples
Icons
%AppData%\Icons
%A_ScriptDir%\Icons
%SYSTEM_PATH%\%IconsDir%\SubDir
C:\%IconsDir%

If you have enabled the Settings > Theme > Show paths from clipboard, all copied variables will also be expanded. For example, if you have Cmder or ConEmu installed you can copy the %ConEmuDir% text to always see the path C:\Users\...\cmder\vendor\conemu-maximus5 in the Menu. For permanent use you can pin this path and it will be visible in the menu always (enable Settings > Theme > Show pinned paths).

Limitations

To ensure that the correct current paths always appear in the menu:

  • Disable localized folder names (e.g. C:\Users, C:\Användare, ...).
  • Periodically open the file manager you need (a big number of windows makes it difficult to find the last open manager).
  • Do not keep virtual folders open (e.g. coll://, Desktop, Rapid Access, ...).

QuickSwitch interacts with other applications, but the system may restrict its access. To avoid this, run QuickSwitch as an administrator or copy it to the C:\Program Files (just paste %ProgramFiles% to the addressbar). You can also disable UAC to avoid similar problems with all applications.

Details

QuickSwitch is written in AutoHotkey, which uses WinAPI. It sends messages to other file managers and receives information about the current file dialog and its contents. For these actions to work correctly, it is required that the target process is not running as an administrator or QuickSwitch is running with UI access (if it is not a compiled .ahk file) or as an administrator. The reason for this is UIPI:

User Interface Privilege Isolation (UIPI) implements restrictions in the Windows subsystem that prevent lower-privilege applications from sending messages or installing hooks in higher-privilege processes. Higher-privilege applications are permitted to send messages to lower-privilege processes. UIPI doesn't interfere with or change the behavior of messages between applications at the same privilege (or integrity) level.

You can also disable UAC and use low-level or powerful antivirus (Crowdstrike, Eset Endpoint Security) for full control over running applications. Modern viruses does not require admin privileges to interact with the system. However, they can obtain admin rights by exploiting Windows vulnerability.

Compiling

Ask DeepWiki

This app is written on Autohotkey language and cannot be compiled. However, it can be built into a single file using a special script.

Dependencies

Required applications:

Autohotkey v1.1.37.02 is deprecated. If you want to start learning this language, learn starting from 2.0.19+. QuickSwitch needs to be ported from AHK 1.1 to 2.0!

To build the application, clone or download this repository. Run the build script file. Change the variables if necessary.

You can change application metadata, such as version and description by changing the Ahk2Exe directives in the main file. After completing the configuration process, run the Build.ps1.

Or you can build QuickSwitch via Ahk2Exe GUI.

Credits

Many people helped make QuickSwitch better! Thank you all very much for your help and testing! You can become a valuable part of the project too.

The history of QuickSwitch begins with Gepruts, who laid the foundation for switching between file dialogs and supported this project until version 0.5.

After that, DaWolfi, NotNull and Tuska added the first settings, color change options, and extended support for file managers.

That's how the thread appeared on the Everything forum, and the version v0.5dw9a was released, which I have continued to improved.

The next version was 1.0: source code was reduced and support for all XYplorer tabs was added. The function from highend helped with this.

Up until version 1.5, active work was underway to optimize performance and display all tabs from all file managers. I had great difficulty with Total Commander and Dalai suggested the algorithm for obtaining all tabs from Total Commander. Horst patiently tested the algorithm over several days of work on it. Together, we laid the foundation for the Total Commander support that is still in use today.

After the release, Arsiendle sent a detailed report on the app's behavior. He helped identify minor and critical errors. His participation in testing helped to significantly improve the app.

Noticz suggested algorithms for a dark theme, switching tabs in file managers using QuickSwitch, and extending the Black List for the big 1.8 release. During the testing by eddablin some issues was fixed.

I also posted a message on the AutoHotkey discord server asking for help in fixing an ancient bug that caused the Menu to stuck on the screen, which has been known since 2007. FuPeiJiang responded and helped resolve many issues with Menu. He helped make the main Menu stable and predictable.

Releases

Contributors

Languages