比如文本内容为:
文本名 1.txt
[abc]
abcde=12345
bcde=2345
qwe=345
我想第四行qwe=345, 替换成 qwe=543.
for /f "skip=3" %%i in (1.txt) do (
set/a n+=1
if !n! equ 4
这之后我就不知道该怎么写下去了,请高手指点下啊...
这个345不是一个固定值.但qwe=是一个固定的值.
请指教下.
qwe=在固定行可以这样写.下面的代码是qwe=在不确定行(qwe=在任意行)
没看明白,也不行啊.qwe=确定在一个固定行,但我要修改成的内容不固定是456.
追答你想要怎样修改呢,用变量?
追问是啊,我首先判断行数,if !n! equ 4 ,行数确定以后,内容就是,qwe=345,然后qwe=又是固定值,就是判断=号以前的内容忽略,或者做为条件搜索,再修改=号以后的内容啊.要修改的内容也不是固定值,但是是我自己给他赋予的值,是我已知的值.
追答你直接把456改成变量就行了,替换代码已经写好了的,只需要修改成变量即可.
@Echo Off&Setlocal Enabledelayedexpansion@echo off
setlocal enabledelayedexpansion
set /p wen=345要换成的内容:
set a=0
for /f "tokens=*" %%i in (1.txt) do (
set /a a+=1
if !a!==4 (
set value=%%i
set "value=!value:345=!"
echo !value!%wen%>>2.txt
) else (echo %%i>>2.txt)
)
把要替换成的内容输入给变量wen
遍历1.txt,当a=4时,把第4行内容中的345换成空
并把剩下的内容和变量wen的内容一起输出到2.txt
else ,a不等于4的情况,则正常输出到2.txt
不想生成2.txt,调用jd08139的move 2.txt 1.txt加在最后即可(另起一行)