Sto cercando di sostituire tutte le istanze di con {~}
in uno script batch in modo che VBScript non presuma che intendo colpire invio quando lo passo a sendKeys, tuttavia, la variabile continua a essere sostituita dalla stringa letterale destinata a sostituiscilo.Come uscire da "~" nel comando set/replace?
Ad esempio,
rem Intended function;
rem input = Hello~world.
rem output = Hello{~}world.
Tuttavia ogni volta, neanche fa nulla, o imposta refVar alla stringa letterale refVar:~={~}
.
Ecco cosa ho provato;
set refVar=!refVar:~={~}!
rem Also
set refVar=%refVar:~={~}%
rem and...
set refVar=%refVar:^~=^{^~^}%
rem and of course;
set refVar=!refVar:^~=^{^~^}!
rem and even:
set "pre=~"
set "post={~}"
set refVar=%refVar:!pre!=!post!%
rem and the same set commands with;
set refVar=!refVar:%pre%=%post%!
Mi manca un modo per sfuggire a questo? Sono abbastanza sicuro che abbia a che fare con ~
come carattere posizionale in un comando simile.
Capisco che c'è un modo per risolvere questo problema in VBScript, ma questo mi infastidisce per avere una restrizione senza apparenti soluzioni alternative per me.
Questa è davvero una risposta chiara. Potrebbe essere meglio usare gli argomenti per la ricerca e sostituire la stringa, per una più facile usabilità. –
Haha, conosco i comandi di scripting di file batch per la maggior parte, ma suppongo che i comandi di aiuto siano per gli altri che cercano la stessa risposta. In ogni caso, grazie, felice di sapere che la soluzione non era solo un certo ordine di delimitatori che non ero riuscito a provare. – Bloodied
@Arescet Sì, ho aggiunto l'elenco dei comandi usati e come ottenere aiuto su di essi per chiunque stia leggendo questa risposta, come faccio quasi sempre sulle risposte relative ai file batch. Era chiaro per me dalla tua domanda che tu conoscessi tutti quei comandi molto bene. – Mofi