美文网首页
Bat中读取ini文件

Bat中读取ini文件

作者: 岑吾 | 来源:发表于2021-01-29 20:51 被阅读0次

很多时候配置文件会用到ini文件,在bat中可以写一个readini函数来读取ini

:: 读取ini配置. %~1:文件名,%~2:域,%~3:key %~4:返回的value值
:readini 
@setlocal enableextensions enabledelayedexpansion
@echo off
set file=%~1
set area=[%~2]
set key=%~3
set currarea=
for /f "usebackq delims=" %%a in ("!file!") do (
    set ln=%%a
    if "x!ln:~0,1!"=="x[" (
        set currarea=!ln!
    ) else (
        for /f "tokens=1,2 delims==" %%b in ("!ln!") do (
            set currkey=%%b
            set currval=%%c
            if "x!area!"=="x!currarea!" (
                if "x!key!"=="x!currkey!" (
                    set var=!currval!
                )
            )
        )
    )
)
(endlocal
    set "%~4=%var%"
)
goto:eof

例如ini文件

[test1]
user=admin
pwd=123456
[test2]
user=guoke
pwd=123455

读取测试

@echo off
set file=test.ini

set user1=
set pwd1=
set user2=
set pwd2=

call:readini %file% test1 user user1
call:readini %file% test1 pwd pwd1
call:readini %file% test2 user user2
call:readini %file% test2 pwd pwd2

echo %user1%:%pwd1%
echo %user2%:%pwd2%

pause
exit

:: 读取ini配置. %~1:文件名,%~2:域,%~3:key %~4:返回的value值
:readini 
@setlocal enableextensions enabledelayedexpansion
@echo off
set file=%~1
set area=[%~2]
set key=%~3
set currarea=
for /f "usebackq delims=" %%a in ("!file!") do (
    set ln=%%a
    if "x!ln:~0,1!"=="x[" (
        set currarea=!ln!
    ) else (
        for /f "tokens=1,2 delims==" %%b in ("!ln!") do (
            set currkey=%%b
            set currval=%%c
            if "x!area!"=="x!currarea!" (
                if "x!key!"=="x!currkey!" (
                    set var=!currval!
                )
            )
        )
    )
)
(endlocal
    set "%~4=%var%"
)
goto:eof

测试结果

admin:123456
guoke:123455
请按任意键继续. . .

相关文章

  • Bat中读取ini文件

    很多时候配置文件会用到ini文件,在bat中可以写一个readini函数来读取ini 例如ini文件 读取测试 测试结果

  • Python读取ini配置文件

    配置文件ini的格式 读取ini文件 获取配置文件中对应值的基础方法 实现一个ini配置文件读取工具类

  • Python读取ini配置文件

    配置文件ini的格式 读取ini文件 获取配置文件中对应值的基础方法 实现一个ini配置文件读取工具类

  • 配置文件读写:configparser

    Configuration file parser 1.读文件: read(filename):读取ini文件中的...

  • config.ini

    使用configparser读写config.ini文件 读取config.ini文件 写入config.ini文...

  • Android读取ini文件

    直接上代码说明,例如 mReader = new IniReader("/data/app/xxx.ini"); ...

  • unity 读取INI文件

    方法一:System.Runtime.InteropServices 首先得创建一个读取ini配置文件的基类,创建...

  • golang 读取ini文件

    ini文件简介 INI文件的命名来源,是取自英文“初始(Initial)”的首字缩写,正与它的用途——初始化程序相...

  • UE 读取INI文件

    创建C++文件 文件类型选择 首先新建一个C++类型的Blueprint Function Library。建好后...

  • Android 读取ini文件配置项

    这个是带Section的文件读取,ini文件放在assets目录下 使用方法: ini配置: 代码: 注意:STR...

网友评论

      本文标题:Bat中读取ini文件

      本文链接:https://www.haomeiwen.com/subject/vasctltx.html