如何写一个批处理文件来实现文本文件里面指定的字符替换

2024-11-03 16:03:21
推荐回答(1个)
回答1:

@echo off
:: code by jm modify on 2006-11-1
:: 出处:http://www.cn-dos.net/forum/viewthread.php?tid=22033
set file=
set /p file=  请把要处理的文件拉到本窗口:
set "file=%file:"=%"
for %%i in ("%file%") do set "file=%%~fi"
echo.
set replaced=
set /p replaced= 请输入即将被替换的内容:
echo.
set all=
set /p all=  请输入替换字符串:
cd.>"%file%_tmp.txt"
setlocal enabledelayedexpansion
for /f "tokens=1* delims=:" %%i in ('findstr /n .* "%file%"') do (
    set str=%%j
    if not "!str!"=="" set "str=!str:%replaced%=%all%!"
    >>"%file%_tmp.txt" echo.!str!
)
copy "%file%" "%file%_bak.txt" >nul 2>nul
move "%file%_tmp.txt" "%file%"
start "" "%file%"

转载的一篇经典替换代码