CMD / Batch / Registry - ¿Reemplazar cadena no funciona como se esperaba?

Me divierto más tratando de reemplazar una subcadena en una línea de código para una clave de registro de Windows

[HKEY_CLASSES_ROOT\PING\shell\open\command]
@="C:\\Windows\\System32\\ping.exe %1 -t"

Escenario y contexto:

El contexto es un protocolo de URL personalizado que abrirá un shell con ping continuo a una IP específica y quiero eliminar el protocoloping:// de la uri que se pasa como%1. Seguro que podría usar un archivo por lotes, pero preferiría tenerlo todo en una línea en el registro

Lo que probé:

hasta ahora he intentado agregar una lista de comandos con& estableciendo un var y luego haciéndolo eco ..

intentócall set remove=ping:// & call set mynewvar=%1:%remove=% & ping.exe %mynewvar% -t

He intentado expandir las variables varias veces usando%%

Básicamente he estado obteniendo resultados extraños o el reemplazo no funciona en absoluto

¿No estoy seguro de lo que estoy haciendo mal? Al escribir esto, comencé a pensar que estoy pasando por alto el hecho de que está en cadena var@="..."

Gracias

Clave de registro

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 var=%1 & call set var=%%var:ping://=%% & ping.exe %var% -t"

navegador escrito en url ping://8.8.8.8

salida de solicitud de cmd Ping request could not find host ping://8.8.8.8/ar. Please check the name and try again.

Noto elar después de que la ip es de%var% parece que está usando el%v no%var

Respuestas a la pregunta(2)

Su respuesta a la pregunta