您的位置:首页 > 其它

批处理读取ini配置文件

2012-05-18 03:36 786 查看
批处理功能很强的,下面我写了一个可以读取ini配置文件的脚本

--------------------------------readini.bat---------------------------------------------

rem @echo off & setlocal enabledelayedexpansion

rem echo 参数个数: %0 %1 %2 %3

set name=

set namelist=

set param=

set paramlist=

FOR /F "eol=; tokens=1* usebackq delims==" %%i IN (%1) do (

rem echo %%i %%j

set p=%%i

rem echo p=!p!

rem echo 取字符!p! !p:~0,1! !p:~-1! !p:~1,-1!

if "!p:~0,1!"=="[" (

if "!p:~-1!"=="]" (

rem @echo 条件!p:~1,-1!

set name=!p:~1,-1!

)

)

rem echo name=!name! namelist=!namelist! paramlist=!paramlist! 输入 %2

if ""=="%2" (

rem echo namelist=!namelist! %%i

if !namelist! EQU "" (

if "!p:~1,-1!" NEQ "" (

rem echo 步骤1 !namelist!

set namelist=!p:~1,-1!

)

) else (

if "!p:~1,-1!" NEQ "" (

rem echo 步骤2 uuuu!namelist!uuuu

set namelist=!namelist!,!p:~1,-1!

)

)

) else if "!name!"=="%2" (

if "%3"=="" (

if "[!name!]" NEQ "%%i" (

if "!paramlist!"=="" (

set paramlist=%%i

) else (

set paramlist=!paramlist!,%%i

rem echo 得到属性 %%i %%j

)

)

) else (

if "%%i" == "%3" (

set param=%%j

)

)

)

)

rem echo ------------------------

rem echo name=!name!

if "%2" EQU "" (

rem 名称列表

echo "!namelist:~1!"

) else (

if "%3" EQU "" (

rem 属性列表

echo "!paramlist!"

) else (

rem 属性值

echo "!param!"

)

)

rem @echo on

----------------------------------------------------------------------------------------

-------------------------------1.ini---------------------------------------------

;测试用ini文件

;注意 名称中不能有等号和空格

; 属性和等号之间不能有空格

[abc]

cd=oop

me= kke =d f

[bbb]

cd=wsd

me=

----------------------------------------------------------------------------------

---------------------调用方法test.bat----------------------------------------

@echo off & setlocal enabledelayedexpansion

echo ----readini 1.ini----

call readini 1.ini

echo ----readini 1.ini abc----

call readini 1.ini abc

echo ----readini 1.ini abc me----

call readini 1.ini abc me

@echo on

pause

-----------------------------------------------------------------------------------

运行效果

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: