替换字符串中的字符

ABA*_*UNT 17 windows string character batch-file

我试图用另一个字符替换一个文本字符串中的所有字符实例,但我没有成功.

假设文本是

cat rat mat fat
Run Code Online (Sandbox Code Playgroud)

我希望脚本替换所有的 t's to p's

cap rap map fap
Run Code Online (Sandbox Code Playgroud)

我所拥有的是以下内容,但它似乎对我没什么用.

SET /P MY_TEXT=ENTER TEXT:

SET T2P=P

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

MSG * %NEW_TEXT%
Run Code Online (Sandbox Code Playgroud)

Jus*_*tin 16

试试这个

setlocal 
set string=cat rat mat fat
set string=%string:t=p%
Run Code Online (Sandbox Code Playgroud)


Grh*_*rhm 9

你的=标志在错误的地方.尝试:

setlocal enabledelayedexpansion
set /P MY_TEXT=ENTER TEXT:
SET T2P=P
set NEW_TEXT=%MY_TEXT:T=!T2P!%
MSG * %NEW_TEXT%
Run Code Online (Sandbox Code Playgroud)

您也可以反过来进行扩展,即

set NEW_TEXT=!MY_TEXT:T=%T2P%!
Run Code Online (Sandbox Code Playgroud)