Multiple commands w/ context menu registry entry?


B

Burma

I'm wondering if there is a way to execute multiple commands on a
right-click context menu item?

For example, for the .txt file type I have a right-click menu item named
"MyEdit". When I select that, I'd like the .txt file to open in both
notepad and another editor I use. Thanks
 
Ad

Advertisements

T

Tim Meddick

Write a BATCH-file and place the commands in order - one after the other.

Then, add a (right-click menu) entry in the registry under :

[HKEY_CLASSES_ROOT\*\shell] - for files

[HKEY_CLASSES_ROOT\Directory\shell] - for folders

The entry should be in the format - first key (under shell) is the command's name
that appears on the menu.

This can be overridden by filling in the 'default' value just under it.

Then the second key under your command's key is always named "command" and the
default value under it should be set to point to your batch file.

Add the parameter "%1" after the path to the batch file, as this is a "replaceable"
parameter that passes the file (or folder) name on to the command-line.

If you look how other commands under the "shell" key are formatted you will get the
idea.

Do a search for "shell" (untick all but "keys" in the search box) and take a look for
yourself...

==

Cheers, Tim Meddick, Peckham, London. :)
 
T

Tim Meddick

BTW - your BATCH file should look something like the following, but replace
myeditor.exe for the name of your editor program (obviously) :

@echo off
start /b c:\windows\system32\notepad.exe %*
start /b c:\path\path\myeditor.exe %*


....be sure to include the %* parameter after the executable name.

Also, enclose in "quotes" the "%1" parameter after the path to the BATCH file in it's
registry entry.

==

Cheers, Tim Meddick, Peckham, London. :)
 
J

jsh02_nova

Tim,
What registry key value determines the 'default' Shell or ShellEx action
for a File Type? i.e.; 'Command Prompt Here' shell command when added becomes
default over 'Explore'.

v/r
 
T

Tim Meddick

What determines the default action in the registry (under
HKEY_CLASSES_ROOT\[FileType]\Shell).

It will default to the key under the [Shell] key named "open" first of all.

You can override this default behaviour by changing the normally blank VALUE under
the [Shell] key to determine what key you want to be the default (double-click)
action. But the one named "open" is the one normally executed by default.

If you can understand it, below is a reg-script to add "Open with DOS Editor" to text
files and makes THAT the default action for text files without altering the normal
default of [NotePad] but overriding it by using the "DefaultValue" under the
[Shell] key to override the default action (or action - separated by commas).

If you use this script, to reverse it's effects just open "Folder Options" > "File
Types" go to the [.txt] file entry, click on the "Advanced" button and delete the
entry: "Open with DOS Editor".


REGEDIT4

[HKEY_CLASSES_ROOT\txtfile\Shell]
@="dosedit,open"

[HKEY_CLASSES_ROOT\txtfile\Shell\dosedit]
@="Open with DOS Editor"

[HKEY_CLASSES_ROOT\txtfile\Shell\dosedit\command]
"C:\\WINDOWS\\system32\\edit.com \"%1\""



==

Cheers, Tim Meddick, Peckham, London. :)
 
Ad

Advertisements

Joined
May 16, 2012
Messages
1
Reaction score
0
I'm am trying to get multiple params (files) passed to my applications through the registry at once. I have done what is suggested here with calling the Batch file from the registry and then in the bat file opening up the application with the %* parameter.

in registry:
@="C:\multiFiles.bat" "%1"

in the .bat file:
@echo off
start /B C:\MyApp.exe %*
exit

But this still throws in each file separately instead of them all getting thrown in at once, what am I missing here?
 
Ad

Advertisements


Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top