Можно ли использовать пакетные команды в вызове команды URI на Windows 10?
Это немного странный вариант использования, но в конечном итоге я бы хотел выбрать протокол vn c связать и открыть сеанс RDP с удаленным компьютером. Таким образом, нажатие vnc://machine.name/
открывает сеанс RDP с machine.name
с использованием встроенного Windows RDP-клиента (msts c .exe).
Я создал запись vnc
в HKCR Windows куст реестра:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\vnc]
"URL Protocol"="\"\""
@="\"URL:vnc\""
[HKEY_CLASSES_ROOT\vnc\DefaultIcon]
@="\"%systemroot%\\system32\\mstsc.exe\""
[HKEY_CLASSES_ROOT\vnc\shell]
[HKEY_CLASSES_ROOT\vnc\shell\open]
[HKEY_CLASSES_ROOT\vnc\shell\open\command]
@="mstsc.exe /v:%1:*vnc://=%"
Моя первая попытка заключалась в том, чтобы предоставить %1
непосредственно команде mstsc.exe /v:
; однако после некоторого тестирования я определил, что %1
отправляет всю ссылку URI на команду (т.е. mstsc.exe /v:vnc://machine.name/
). Теперь я пытаюсь удалить компонент vnc://
из аргумента, чтобы передать его в mstsc.exe
. Проблема в том, что никаких манипуляций со строками не происходит.
![Remote Desktop client shows no string manipulation has occurred](https://i.stack.imgur.com/rIkVZ.png)
Возможно ли это? Мой план резервного копирования - написать пакетный сценарий, который запускается при нажатии ссылки vnc://
, удаляет имя хоста из параметра и запускает mstsc.exe
в правильном формате. Однако я бы не хотел, чтобы на компьютере был физический файл.