Sto avendo la più divertente cercando di sostituire una stringa in una sola riga di codice per un registro di Windows chiaveCMD/Batch/Registry - La sostituzione delle stringhe non funziona come previsto?
[HKEY_CLASSES_ROOT\PING\shell\open\command]
@="C:\\Windows\\System32\\ping.exe %1 -t"
Scenario e contesto:
Il contesto è un protocollo URL personalizzato che verrà aprire una shell con ping continuo su un IP specifico e voglio rimuovere il protocollo ping://
dall'ira che viene passato come %1
. sicuro che avrei potuto utilizzare un file batch, ma preferisco avere tutto in una sola riga nel Registro
Quello che ho provato:
Finora ho provato aggiungendo un elenco di comandi con &
la fissazione di un var e poi facendo eco esso ..
provato call set remove=ping://
&
call set mynewvar=%1:%remove=%
&
ping.exe %mynewvar% -t
ho provato espandendo le variabili un paio di volte u cantare %%
Fondamentalmente sto ottenendo risultati strani o sostituire non funziona affatto
Non sei sicuro di quello che sto facendo di sbagliato? Digitando questo, ho iniziato a pensare che sto trascurando il fatto suo nella stringa var @="..."
grazie
delle chiavi del Registro del browser
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"
digitato url ping://8.8.8.8
output prompt cmd Ping request could not find host ping://8.8.8.8/ar. Please check the name and try again.
noto la ar
dopo il PI è da %var%
sembra proprio utilizzando il %v
non %var
Nice, ma '% var %' funziona anche sul mio sistema XP, quindi'% v' sembra non essere la causa del problema – jeb
Ho dovuto rimuovere solo 'protocol:', ed eseguire un programma non-cmd, quindi sono andato con qualcosa del tipo: '" cmd/k set myvar =% 1 e call set myvar = %% myvar: protocol: = %% & chiama \ "C: \\ Programmi \\ percorso \\ a \\ program.exe \" \ "%% myvar %% \" & exit "' – Piyin