How to pass in multiple file/folder paths via a right-click event (verb) to an executable?

Chicago picture Chicago · Dec 1, 2009 · Viewed 8.3k times · Source

Related:

How to add new items to right-click event on Folders and Files in Windows?

I added custom right-click verb to all files by adding registry keys to HKEY_CLASSES_ROOT\*. End result looks like this

HKEY_CLASSES_ROOT*\Shell\TestRightClick\Command

-------Default = c:\RightClickTest.exe "%1"

Problem: when selecting multiple files c:\RightClickTest.exe will be called several times(number of selected files)

What I need: pass-in multiple files paths to one executable

Answer

lowlevel picture lowlevel · Mar 17, 2011

If you're looking for a quick and dirty workaround, you can create a shortcut to your executable in '%AppData%\Microsoft\Windows\SendTo' Now you can select a bunch of files, right click, select Send To, and your application.

This will pass all the selected files as individual command line options to one instance of your application... keep in mind there is a 32767 character command line limit which will limit the number of files you can pass to your application using this method, and make sure your program wont' try to open files it doesn't know how to deal with. In the long run, Factor Mystic's method is way better.