标题: [文本处理] 批处理如何替换/修改文本里含有指定字符串的行中的部分字符串 [打印本页]
作者: ONOSIN 时间: 2008-3-9 20:08 标题: 批处理如何替换/修改文本里含有指定字符串的行中的部分字符串
本帖最后由 pcl_test 于 2016-8-6 18:40 编辑
批处理如何修改文件内容
现在有文件1.txt 内容为
/******************************/
company name=abc
/*****************************/
现在想写一个批处理,实现这个功能
打开文件,找到company name=abc这行,然后吧abc改成bcd
即修改后文件为
/******************************/
company name=bcd
/*****************************/
请高人指点,多谢了!!!
作者: 随风 时间: 2008-3-9 20:21
修改文件内容??
将文件内容中的1改为2也是修改文件内容,
将文件中的某字符删除也是修改文件内容。
楼主,你的标题能不能再说贴切点,这样,别人遇到同样问题时就不用再发帖了。
同时,明确的标题也更能让别人愿意解答你的问题。。。。
作者: 随风 时间: 2008-3-9 21:14
:- @echo off
- for /f "delims=" %%a in (a.txt) do (
- if /i "%%a"=="company name=abc" (echo company name=bcd) else echo.%%a
- )
- pause
复制代码
[ 本帖最后由 随风 于 2008-3-9 21:16 编辑 ]
作者: ywtuf 时间: 2008-3-9 21:25
- @echo off
- ren 1.txt a.txt
- setlocal enabledelayedexpansion
- set ty1=abc
- set ty2=bcd
- for /f "tokens=*" %%M in (a.txt) do (
- set var=%%M
- set "var=!var:%ty1%=%ty2%!"
- echo !var!>>b.txt
- )
- endlocal
- ren b.txt 1.txt
- del a.txt
复制代码
作者: 随风 时间: 2008-3-9 21:46 标题: 回复 4楼 的帖子
楼上的代码会将文档中所有的abc都替换成bcd,而楼主要求的是把company name=abc后面的abc替换为bcd
作者: huaxn 时间: 2009-7-2 13:13
随风 我也有这样的问题就是不重新写入别的文件,而是直接修改原文件,比如搂主这样的问题。
你的代码我运行了下只是显示在屏幕,并不能在原文件修改,可有解决办法?
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |