You need to associate to the filetype the script you want to launch on that type. On Windows, all this is based on the extension (at least on XP, I don't know about 7, but I doubt it has changed).
Say the extension of your files are ".abc", and your app is:
c:\program files\dummy\process.bat
(I dropped the variable for the moment, I'm not sure how this behaves in .reg files)
So just edit a config.reg text file that will hold the following:
Windows Registry Editor Version 5.00
; the extension .abc gets associated with a file type
[HKEY_CLASSES_ROOT\.abc]
@="abc-file"
; the file-type gets a name (that appears in explorer in field "type")
[HKEY_CLASSES_ROOT\abc-file]
@="foo file"
; What will appear in the contextual menu when selecting an .abc file
[HKEY_CLASSES_ROOT\abc-file\shell\cmdname-1]
@="--- Process ! ----"
; What to do with it
; here, %1 is the file given as argument of the script
[HKEY_CLASSES_ROOT\abc-file\shell\cmdname-1\command]
@="\"c:\\program files\\dummy\\process.bat\" \"%1\""
Finally import it. You're done.
Additional comments:
- All the strange quotes and backslashes are there to allow correct handling of names with spaces. Yes, I now, nobody has spaces in file names.. Or do they ? Anyway, that happens!
- You can of course have several commands for a file type. Just dupe the last two keys of the .reg (cmdname-1 ==> cmdname-2)
- You can also associate different file extensions to the same file type. for example, HTML files can have either .htm or .html
- You can even associate an action to folders. replace the file type by "folder"
- It can be useful to provide a "uninstall" functionality. Just create another reg file and prefixe the created keys with '-'.
The last sentence does not make sense to me. What do you mean by "what do I need to do to the data"? – None – 2012-06-01T22:04:14.723
I don't know about adding a selection to the right click shell menu, but if you go to
Start, Run -> shell:sendto
, you can add a shortcut or batch script and it will show up on a right click -> Send To. Also, if you use a batch script, the file name will be in %0, and full name (path + filename) will be in %1. – Caleb Jares – 2012-06-01T23:21:08.840Okay were getting there but I need to know what variable would be the text. Thanks for helping – Jake Inc. – 2012-06-01T23:24:50.613