楼 主
如何批量替换多个文本中的特定字符?
发表于 2008-01-14 16:20 · 中国 香港 电讯盈科有限公司
新手上路
★
积分 14 发帖 5 注册 2008-01-14 14:25 18年会员 UID 108569 性别 男
状态 离线
在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 ]
第 2 楼
发表于 2008-01-17 09:25 · 中国 香港 电讯盈科有限公司
新手上路
★
积分 14 发帖 5 注册 2008-01-14 14:25 18年会员 UID 108569 性别 男
状态 离线
第 3 楼
发表于 2008-01-17 12:46 · 中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
积分 5,493 发帖 2,315 注册 2006-05-01 10:41 20年会员 UID 54766 性别 男 来自 上海
状态 离线
@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
不能处理特殊字符
第 4 楼
发表于 2008-01-21 11:12 · 芬兰
新手上路
★
积分 14 发帖 5 注册 2008-01-14 14:25 18年会员 UID 108569 性别 男
状态 离线
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正