Как выполнить подстроку подстановки, когда подстрока содержит знак равенства? - PullRequest
4 голосов
/ 28 сентября 2010

В пакетных файлах Windows вы можете использовать этот синтаксис для поиска и замены переменных:

set myvar=%myvar:foo=bar%

Как это сделать, если «foo» или «bar» содержат знак равенства? Экранирование с помощью ^ не похоже на работу ...

Спасибо.

1 Ответ

1 голос
/ 28 сентября 2010

Вместо того, чтобы бороться с причудами cmd.exe, почему бы не использовать взамен vbscript?

Set objArgs = WScript.Arguments
strOld=objArgs(0)
strNew=objArgs(1)
str=Replace(WScript.StdIn.ReadAll,vbCrLf,"")
WScript.Echo Replace(str,strOld,strNew)

Сохранить выше как replace.vbs

Использование:

C:\test>echo test| cscript //nologo replace.vbs te mi
mist
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...