How to pass a filename by drag-and-drop to a shortcut in Windows
I have a program program.exe
and a document document.txt
, and to open the document, I can drag document.txt
onto program.exe
. So far so good. Now I want to call it with a command-line parameter -param
so that the full command line is program.exe -param document.txt
Unfortunately, I can't do this with drag and drop, so I need to fire up cmd and type in the command manually. This takes too long, and I need an easier way.
How can I create a shortcut that I can drop the file onto, and have it call the program with the command-line parameter?
I tried setting the shortcut to program.exe -param "%1"
, but that didn't work, because it tried to open the file %1
.
Solution 1:
Just use program.exe -param
as a target in your shortcut. Document path (or whatever else you drop onto it) is appended by default.
Loosely related: You may also drop an item from explorer onto command line window - this may save you a lot of typing!
Solution 2:
Make a batch file that'd call your target executable with -param
and batch file's first parameter and then make shortcut point to that batch file.
Solution 3:
I couldn't get it to work with a regular shortcut, but you might want to create a batch file instead. Use %1
in place of where you want the dropped file's path. E.g.:
"C:\path to utility\myUtility.exe" %1 -f -g