3

.iniファイルから行を削除するVBSスクリプトを作成しようとしています。ただし、実行すると、新しいファイル(およびバックアップ)が作成され、名前が変更されますが、削除したい行はまだありますか?どうすればこれを修正できますか?

これが私のコードです:

Const ForReading = 1
Const ForWriting = 2
Const OpenAsASCII = 0
Const CreateIfNotExist = True

Set objFSO = CreateObject("Scripting.FileSystemObject")
Const OverwriteExisting = True

'Making a backup of the file
objFSO.CopyFile "C:\notes.ini" , "C:\notesBACKUP.ini"

'Setting input of file
strInput = "C:\notes.ini"
Set objInput = objFSO.OpenTextFile(strInput, ForReading)

'Setting temp output for new file with omitted line
strOutput = "C:\notes2.ini"

Set objOutput = objFSO.OpenTextFile(strOutput, _
ForWriting, CreateIfNotExist, OpenAsASCII)


Do Until objInput.AtEndOfStream

strLine = objInput.ReadLine

'Line with EXTMGR to be replaced when copying to new file
If (InStr(LCase(strLine), "EXTMGR") > 0) Then

'New line replacing old one
strLine = "#Deleted"
End If

objOutput.WriteLine strLine
Loop


objInput.Close
objOutput.Close


'Deleting the original file
objFSO.DeleteFile(strInput)

'Renaming the new file (with line removed) to the original filename
objFSO.MoveFile "C:\notes2.ini" , "C:\notes.ini"
4

1 に答える 1

2

文字列の変換を行ってLCASEから、すべて大文字の文字列を探しています。

コードを次のように変更します。
If (InStr(strLine, "EXTMGR_ADDINS") > 0)

于 2012-11-16T21:29:47.837 に答える