2012-04-08 5 views
0

既存のファイルに新しい行を追加して、ファイルの最後ではなく中間のどこかに(特定のセクションの最後に)VBScript - 指定された行の後に新しい行を追加する方法

# section 1 description 
foo1 = bar1 
foo2 = bar2 

# section 2 description 
foo3 = c:\bar.cfg 
my_new_line = which_needs_to_be_appended_here 

# section 3 description 
foo4 = bar4 

私が使うべき、ここで説明したように検索と置換:

http://blogs.technet.com/b/heyscriptingguy/archive/2005/02/08/how-can-i-find-and-replace-text-in-a-text-file.aspx

特定のセクションの最後の行を見つけ、でそれを置き換えるために:自身改行文字+ + my_new_line = which_needs_to_be_appended?

OR

多分単純以上の巧妙な方法は、(特定のセクションの最後の行を見つけるように、右のそれの後に私の新しい行を置くために、いくつかのメソッドを使用します)同じことを行うにはありますか?

答えて

2

あなたの仕事はセクションにラインを追加することで、セクションは2つのラインエンディングで区切られているようですが、そのセパレータでSplit()を使うことは、そのセクションの最後のキーと値のペア:

Dim sAll : sAll = readAllFromFile("..\data\cfg00.txt") 
    WScript.Echo sAll 
    Dim aSects : aSects = Split(sAll, vbCrLf & vbCrLf) 
    aSects(1) = aSects(1) & vbCrLf & "fooA = added" 
    sAll = Join(aSects, vbCrLf & vbCrLf) 
    WScript.Echo "-----------------------" 
    WScript.Echo sAll 

出力:

========================= 
# section 1 description 
foo1 = bar1 
foo2 = bar2 

# section 2 description 
foo3 = c:\bar.cfg 

# section 3 description 
foo4 = bar4 

----------------------- 
# section 1 description 
foo1 = bar1 
foo2 = bar2 

# section 2 description 
foo3 = c:\bar.cfg 
fooA = added 

# section 3 description 
foo4 = bar4 

========================= 
+0

私が探していた液の種類、ありがとう:) –

+0

をnot.my.fault @答えをマーク気軽にそれが解決策であれば受け入れられる –

関連する問題