Мы можем заменить строки в пакетном файле с помощью следующей команды
set str="jump over the chair"
set str=%str:chair=table%
Эти строки хорошо работают и меняют струну, "перепрыгивают через стул" для "перепрыгивания через таблицу". Теперь я хочу заменить слово "стул" в строке с некоторой переменной, и я не знаю, как сделать это.
set word=table
set str="jump over the chair"
??
Какие-либо идеи?
Вы можете использовать!, Но у вас должен быть установлен переключатель ENABLEDELAYEDEXPANSION.
setlocal ENABLEDELAYEDEXPANSION
set word=table
set str="jump over the chair"
set str=%str:chair=!word!%
Вы можете использовать следующий маленький трюк:
set word=table
set str="jump over the chair"
call set str=%%str:chair=%word%%%
echo %str%
Вызов call
вызывает еще один уровень расширения переменной, что делает необходимым цитирование оригинальных знаков %
, но в итоге все работает.