求编写一个ini文件的批处理命令
在A.ini中有[p1]a=2b=4c=8[p2]s=3在B.ini中有b=8s=9运行一个ab.bat一行行将B.ini的每一项替换A中存在的项运行结果应该是[p1]a...
在A.ini中有
[p1]
a=2
b=4
c=8
[p2]
s=3
在B.ini中有
b=8
s=9
运行一个ab.bat
一行行将B.ini的每一项替换A中存在的项
运行结果应该是
[p1]
a=2
b=8
c=8
[p2]
s=9
值得注意的是A.ini会存在以;号为开头的行注释可能存在重复项
如
;a=3
a=2
恩,谁能帮我编写看看 展开
[p1]
a=2
b=4
c=8
[p2]
s=3
在B.ini中有
b=8
s=9
运行一个ab.bat
一行行将B.ini的每一项替换A中存在的项
运行结果应该是
[p1]
a=2
b=8
c=8
[p2]
s=9
值得注意的是A.ini会存在以;号为开头的行注释可能存在重复项
如
;a=3
a=2
恩,谁能帮我编写看看 展开
展开全部
@echo off&setlocal enabledelayedexpansion
for /f "tokens=1* delims==" %%a in ('findstr "=" B.ini') do set "%%a=%%b"
(for /f "delims=" %%a in (A.ini) do (
echo "%%a"|findstr "=" >nul &&set eq=1||set eq=
if defined eq (
for /f "tokens=1* delims==" %%b in ("%%~a") do (
if defined %%~b (echo %%~b=!%%~b!) else echo.%%a
)
) else echo.%%a
))>#
move # A.ini
追问
实在是。。。读不懂
只要替换B.ini,A.ini 就可以对任意文件处理了把?
'findstr "=" B.ini' 那什么B前面的一个空格没影响吧?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询