I\'m having the most fun trying to replace a substring in one line of code for a windows registry key
[HKEY_CLASSES_ROOT\\PING\\shell\\open\\command]
@=\"C:\
Got it.. %v
is actually
%v – For verbs that are none implies all. If there is no parameter passed this is the working directory.
got that from this answer
Working code
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\PING]
@="url:ping protocol"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\PING\shell]
[HKEY_CLASSES_ROOT\PING\shell\open]
[HKEY_CLASSES_ROOT\PING\shell\open\command]
@="cmd /k set myvar=%1 & call set myvar=%%myvar:ping:=%% & call set myvar=%%myvar:/=%% & call ping.exe %%myvar%% -t"
String replace is only possible with variables not with parameters like %1
.
Something like this could be a starting point
set "var=%1" & call var=%%var:ping://=%%
In the registry it could look like
...
[HKEY_CLASSES_ROOT\PING\shell\open\command]
@="cmd /k ( set \"var=%1\" & call set var=%%var:ping://=%% & call set var=%%var:/=%% & call ping.exe %%var%% -t)"