如何在cmd中替换字符串? [重复]。

问题描述 投票:0回答:1

例如,我想用字符串代替字符串。

for /F "taken=1,2* delims=;" %%i in(%TABLES%) do(
echo select %%j from %%i; | sed -e “s/,/||’,’||/g” -e “s/@/||’@’/g” >> %TABLES_OUT/¥%%i.sql

我想用字符串代替 sed.像这样

, ➡︎ ||’,’||
@ ➡︎ ||’@

我应该怎么做?

batch-file cmd
1个回答
0
投票

@Mofi给出的参考资料是个好办法。其中重要的部分是发现VERTICAL LINE字符必须用 ^.

C:>TYPE replstr.bat
@ECHO OFF
SET "S=now,is,the@time,for@all"
ECHO %S%
SET "S2=%S:,=^|^|,^|^|%"
ECHO %S2%
SET "S3=%S2:@=^|^|@^|^|%"
ECHO %S3%

C:>CALL replstr.bat
now,is,the@time,for@all
now||,||is||,||the@time||,||for@all
now||,||is||,||the||@||time||,||for||@||all
© www.soinside.com 2019 - 2024. All rights reserved.