2012-11-30 48 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