【问题标题】:Parsing a .ini file解析 .ini 文件
【发布时间】:2012-11-18 17:59:08
【问题描述】:

我的问题是关于使用 Windows 命令行解析 ini 文件。

我在尝试从文件中删除包含所有键的部分时卡住了。此部分的名称是已知的并保存在变量中。

我尝试保存行(开始、结束)以删除它们之间的内容,但它对我不起作用。

这里有人可以帮帮我吗?

编辑:

这是一个示例 ini 文件:

[Example]
cycle = value
cycle2 = value
cycle_bu = value

[Example2]
key1 = value
key2 = value
key3 = value
key4 = value

[something3]
key1 = value
key2 = value
key3 = value
key4 = value
key5 = value
key6 = value

【问题讨论】:

  • 我们可以看到ini文件和您要提取的部分吗?
  • 除了@BaliC 的要求之外,拥有您目前编写的代码会很有帮助。

标签: batch-file cmd ini


【解决方案1】:

http://www.robvanderwoude.com/sourcecode.php?src=readini_nt

你能检查一下这是否可以工作吗?

编辑: 这未经测试:

break >new.ini
set skip_this_section=[something]
set skip_flag=0
for /f  %%I in (myini.ini) do (
   call :print_to_file %%I
)
goto :eif

:print_to_file
setlocal enabledelayedexpansion 
    set line=%1
    set first_char=!line:~0,1!
    if "!first_char!" EQU "[" (
        if "!line!" EQU "!skip_this_section!" (
           set skip_flag=1
        ) else (
           set skip_flag=0
        )
    )
endlocal & set skip_flag=%skip_flag%
if %skip_flag% EQU %0% (
   echo %1 >> new.ini
) 

【讨论】:

  • 你能检查一下上面的脚本吗?
  • 不工作...我认为更好的方法是保存“[something]”的起始行号和结束行号。然后我可以轻松地将它们剪掉。
【解决方案2】:

有一个 CLI crudini 可以按组和键操作 ini 条目:

https://github.com/pixelb/crudini/blob/master/EXAMPLES

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-09
    • 1970-01-01
    • 2014-09-03
    • 2015-10-12
    • 2021-01-06
    • 2018-08-30
    • 2012-09-24
    • 2010-09-29
    相关资源
    最近更新 更多