中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-11 21:11
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 批处理如何查找并替换指定字符串 查看 1,360 回复 6
楼 主 批处理如何查找并替换指定字符串 发表于 2010-06-22 14:37 ·  中国 江西 南昌 电信
初级用户
积分 38
发帖 21
注册 2010-02-21 18:11
16年会员
UID 160939
性别 男
来自 南昌
状态 离线
当前目录下有个a.txt,里面有好多字符,请问如何用批处理吧里面所有的“aaaaa”字符串替换成“bbbbb”字符串?(不带引号)
2 发表于 2010-06-22 14:42 ·  中国 广东 深圳 电信
初级用户
积分 21
发帖 21
注册 2010-06-19 17:50
16年会员
UID 169155
性别 男
状态 离线
sed '/aaaaa/' c\ "bbbbb" a.txt
3 回复2楼 发表于 2010-06-22 14:44 ·  中国 江西 南昌 电信
初级用户
积分 38
发帖 21
注册 2010-02-21 18:11
16年会员
UID 160939
性别 男
来自 南昌
状态 离线
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.

C:\Documents and Settings\Administrator>sed /?
'sed' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

C:\Documents and Settings\Administrator>
4 发表于 2010-06-22 14:52 ·  中国 广东 深圳 电信
初级用户
积分 21
发帖 21
注册 2010-06-19 17:50
16年会员
UID 169155
性别 男
状态 离线
下载一个sed.exe 4个文件拷贝到windows/system32 <-系统默认位置
5 发表于 2010-08-12 13:32 ·  中国 江西 南昌 电信
初级用户
积分 38
发帖 21
注册 2010-02-21 18:11
16年会员
UID 160939
性别 男
来自 南昌
状态 离线
不用了

我已经有纯批处理的方法了。
谢谢2楼
6 发表于 2010-08-13 21:05 ·  中国 山东 德州 电信
新手上路
积分 5
发帖 2
注册 2010-07-18 23:45
16年会员
UID 170725
性别 男
状态 离线
@echo off
setlocal enabledelayedexpansion
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= 请输入替换字符串:
for /f "delims=" %%i in ('type "%file%"') do (
set str=%%i
set "str=!str:%replaced%=%all%!"
echo !str!>>"%file%"_tmp.txt
)
copy "%file%" "%file%"_bak.txt >nul 2>nul
move "%file%"_tmp.txt "%file%"
start "" "%file%"
7 发表于 2010-08-20 15:41 ·  中国 河南 郑州 联通
新手上路
积分 2
发帖 2
注册 2010-08-19 16:43
15年会员
UID 172659
性别 男
状态 离线
收藏。。。mark...
论坛跳转: