- @echo off
-
:::::::::INI文件读取 by chenall QQ:366840202::::::::::::::::::::::
-
::使用方法: ::
-
:: inifile iniFilePath [section] [item] ::
-
::例子: ::
-
:: inifile c:\boot.ini ::
-
:: 读取c:\boot.ini的所有[section] ::
-
:: inifile c:\boot.ini "[boot loader]" ::
-
:: 读取c:\boot.ini [boot loader]段的内容 ::
-
:: inifile c:\boot.ini "[boot loader]" timeout ::
-
:: 显示c:\boot.ini [boot loader]段 timeout的值 ::
-
:: ::
-
::::::::::::::::::::::::::::::::::::::::::::2006-12-18::::::::::::
-
set item=
-
set filepath=
-
set section=
-
setlocal EnableDelayedExpansion
-
if not "%~1"=="" (
- set filepath=%1
-
) else goto :file_err
-
if not exist %filepath% goto :file_err
-
if not "%~2"=="" (
- set section=%2
- if "!section:~0,1!"==""^" set section=!section:~1!
- if "!section:~-1!"==""^" set section=!section:~0,-1!
-
) else goto :section
-
if not "%~3"=="" (
- set item=%3
- if "!item:~0,1!"==""^" set item=!item:~1!
- if "!item:~-1!"==""^" set item=!item:~0,-1!
-
)
-
setlocal disableDelayedExpansion
-
set 字段开始=
-
for /f "usebackq delims=[]" %%i in (`find /i "%section%" /n %filepath%`) do set 字段开始=%%i
-
for /f "usebackq tokens=1* delims== skip=%字段开始%" %%i in (`type %filepath%`) do (
- set a=%%i
- setlocal EnableDelayedExpansion
- if "!a:~0,1!"=="[" goto :eof
- if not "!a:~0,1!"==";" (
- setlocal disableDelayedExpansion
- for /f "delims=;" %%x in ("%%i=%%j") do (
- if not DEFINED item (echo %%x) else (if /i "%%i"=="%item%" echo %%x)
- )
- )
-
)
-
goto :eof
-
:section
-
setlocal disableDelayedExpansion
-
for /f "usebackq delims== skip=2" %%i in (`find /i "[" %filepath%`) do echo %%i
-
goto :eof
-
:file_err
-
setlocal disableDelayedExpansion
-
echo.
-
echo %1文件未找到或未输入!
-
echo.
-
goto :eof
|
|