Board logo

标题: 如何批量替换多个文本中的特定字符? [打印本页]

作者: zhzhang9756     时间: 2008-1-14 16:20    标题: 如何批量替换多个文本中的特定字符?

在D:\test等文件夹下有n(几十或更多)个.all文件(注:其实是文本文件,但扩展名是.all),每个.all文件中都有m(几百或几千不定)行数据,每一行代表一条信息,每一行里都可能有“OK;”和“229;”这两个字符。我想把这些文件中所有“OK;”和“229;”字符都替换成“PASS;”。请问如何DOS的批处理实现?

[ Last edited by zhzhang9756 on 2008-1-14 at 05:23 PM ]
作者: zhzhang9756     时间: 2008-1-17 09:25
请高手指点,急
作者: fastslz     时间: 2008-1-17 12:46

@echo off
setlocal enabledelayedexpansion
md "D:\New_test" 2>nul
for /f "delims=" %%a in ('dir /a-d/b D:\test') do (
    for /f "delims=" %%i in ('type "D:\test\%%a"') do (
    set "var=%%i"
    set "var=!var:OK;=PASS;!"
    set "var=!var:229;=PASS;!"
    >>"D:\New_test\%%a" echo.!var!
))
pause
不能处理特殊字符
作者: zhzhang9756     时间: 2008-1-21 11:12
非常感谢!!