Замена символов в строке

Я пытаюсь заменить все экземпляры символа в строке текста другим символом, но я не преуспеваю.

Предположим, что текст

cat rat mat fat

Я хочу, чтобы сценарий заменил все t to p's

cap rap map fap

У меня есть следующее, но, похоже, это мало для меня.

SET /P MY_TEXT=ENTER TEXT:

SET T2P=P

SET NEW_TEXT=%TEXT=:T!T2P!%

MSG * %NEW_TEXT%

Ответ 1

У вас есть знак = в том месте. Пытаться:

setlocal enabledelayedexpansion
set /P MY_TEXT=ENTER TEXT:
SET T2P=P
set NEW_TEXT=%MY_TEXT:T=!T2P!%
MSG * %NEW_TEXT%

Вы также можете сделать расширение другим способом, т.е.

set NEW_TEXT=!MY_TEXT:T=%T2P%!

Ответ 2

Попробуй это

setlocal 
set string=cat rat mat fat
set string=%string:t=p%

Ответ 3

Вы можете использовать 'sed' следующим образом:

echo "cat rat mat fat" | sed 's/t/p/g'  # outputs "cap rap map fap"