有一个配置文本文件,首先要查找其中的某行(假定为第5行)的内容是否与指定字符串(假定指定字符串为“DEFA=TEST”)完全相同,如不是,则用指定的字符串将该行的内容替换掉,请问用批处理文件如何实现?
或者说不指定行,而是查找有包含特定字符串那行的内容与指定的字符串的内容是否完全相同,不完全相同就用后者替换,如,假设TXT文件中一定有一行为DEFA="XXXX”,其中"XXXX"是变化的,并且长度不等,而“DEFA=”是固定的并且一定有的,可将“DEFA=”作为关键字符串来找到它所在的行,并用这行的内容与指定的字符串(假定指定字符串为“DEFA=TEST”)进行比较,如不完全相同则用“DEFA=TEST”替换掉该行原来的内容,换句话说就是,如果TXT中含“DEFA=”的那行等号后面的不是“TEST”话就将其换成“TEST”,盼高手给出批处理文件,谢谢!
谢谢 314ccp 朋友的方案,可能我要求提的不太清楚,上面我补充了一下,能否再根据补充的意思改进一下你的BAT?
1、首先,准备一个conf.ini,内容如下图所示。现在要将title的值修改“我是新标题”。
2、如果ini内的文件比较简单,其次可以直接新生成一个。
3、运行一下代码,效果如下,可以看到ini内容已经修改。
4、假设不知道ini的具体内容,只是知道其中有“我是新标题”,现在要将“我是新标题”替换成"newtitle"。
5、如果ini文件原内容如下图所示。
6、运行脚本后,得到的新ini文本就变成如下图所示了。因为我们生成了中间文件,所以在脚本最后,一定要记得删除该文件 del tmp.txt。
注意事项:
批处理应用于DOS和Windows系统中,它是由DOS或者Windows系统内嵌的命令解释器(通常是COMMAND. COM或者CMD.EXE)解释运行。