2012-11-30 155 views
1

我的问题是关于使用Windows命令行解析ini文件。解析.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 
+2

我们可以看到ini文件和您要选取的部分? –

+2

除了@BaliC提出的问题之外,获得迄今为止编写的代码将会很有帮助。 – 2012-11-30 13:50:42

回答

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 
) 
+0

不是真的...我找不到任何代码来删除一些东西... – Daffi

+0

你能检查上面的脚本吗? – npocmaka

+0

无法正常工作...我认为一个更好的方法可以是保存“[something]”的起始行号和结束行号。然后我可以轻松地将它们剪掉。 – Daffi