CMD / Batch / Registry - замена строки не работает должным образом?

У меня есть самое забавное, пытаясь заменить подстроку в одной строке кода для раздела реестра Windows

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

Сценарий и контекст:

Контекст - это собственный протокол URL, который откроет оболочку с непрерывным пингом для определенного IP, и я хочу удалить протоколping:// от URI, который передается как%1, конечно, я мог бы использовать командный файл, но я бы предпочел, чтобы все это было в одной строке реестра

Что я пробовал:

до сих пор я пытался добавить список команд с& установить переменную, а затем повторить его ..

пыталсяcall set remove=ping:// & call set mynewvar=%1:%remove=% & ping.exe %mynewvar% -t

Я пытался расширить переменные несколько раз, используя%%

В основном я получаю странные результаты или замена не работает вообще

Не уверен, что я делаю не так? Печатая это, я начал думать, что я упускаю из виду тот факт, что в строке var@="..."

Спасибо

Ключ реестра

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"

браузер набрал в URL ping://8.8.8.8

вывод подсказки cmd Ping request could not find host ping://8.8.8.8/ar. Please check the name and try again.

Я замечаюar после того, как IP от%var% кажется, его использование%v не%var

Ответы на вопрос(2)

Ваш ответ на вопрос