您好我正在尝试搜索文件中的特定字符串,并希望用批处理文件中的其他字符串替换该字符串。
例如,我有一个包含以下数据的.txt:
line 1: Name: abc
line 2: Some words then age: 24 something
line 3: country:xyz
现在我想用“年龄:”找到并想替换为
line 2: Some words then age: 30 something
并保存在同一个 a.txt 中。
感谢帮助
您好我正在尝试搜索文件中的特定字符串,并希望用批处理文件中的其他字符串替换该字符串。
例如,我有一个包含以下数据的.txt:
line 1: Name: abc
line 2: Some words then age: 24 something
line 3: country:xyz
现在我想用“年龄:”找到并想替换为
line 2: Some words then age: 30 something
并保存在同一个 a.txt 中。
感谢帮助
age: (whatever)
这会将text.inf 中的每个实例替换为age: 30
:
for /f "tokens=1* delims=: " %%x in (text.inf) do (
if "%%x"=="age" (
echo %%x: 30 >> outfile.tmp
) else (
echo %%x: %%y >> outfile.tmp
)
)
move /y outfile.tmp text.inf
好的,你的新规格使这变得更加困难,但是...
setlocal enabledelayedexpansion
set line=
for /f "tokens=* delims= " %%x in (text.inf) do call :workit %%x
move /y outfile.tmp text.inf
endlocal
goto :eof
:workit
set line=
:workitloop
set line=!line! %1
if "%1"=="age:" (
set line=!line! 30
shift
shift
goto :workitloop
) else if "%1"=="" (
echo !line:~1!>> outfile.tmp
) else (
shift
goto :workitloop
)
goto :eof