使用VBScript删除代码行

时间:2017-10-31 13:43:55

标签: xml shell vbscript

我从系统导出XML文件,需要注释掉或删除每个文件中的第二行代码(大约有200个文件)。

这可以手动完成,但我想知道VB脚本是否能够执行此操作。如果是这样,你对如何有任何想法?

档案示例:

 <?xml version="1.0" encoding="ISO-8859-1"?> 
 <DOCTYPE POWERMART SYSTEM "powrmart.dtd">

期望的结果:

 <?xml version="1.0" encoding="ISO-8859-1"?> 

OR注释掉了:

  <?xml version="1.0" encoding="ISO-8859-1"?> 
  <!--DOCTYPE POWERMART SYSTEM "powrmart.dtd"-->

谢谢,

A

1 个答案:

答案 0 :(得分:-1)

这是一个起点。一些FSO方法可能需要更明确的参数(我忘记了常量等)。它还假设Base 0数组索引并且第二行IS(如您所述)始终是您想要影响的那个,但它应该提供一个合适的参考点。 (仅供参考,如果您在200多个文件中遇到不一致,可以考虑使用旧的MSXML DLL。)

Dim objFSO
Dim tsContent
Dim strAll
Dim aryAll
Dim strNew

Set objFSO = CreateObject("Scripting.FileSystemObject")

' Read current file content
Set tsContent = objFSO.OpenTextFile("C:\SOSamples\Sample.xml")
strAll = tsContent.ReadAll
tsContent.Close()
Set tsContent = Nothing

aryAll = Split(strAll,vbCrLf)

' Assumes array indexes start at 0 (instead of 1) and sets second element to empty/zero length string
aryAll(1)=""

strNew = Join(aryAll,vbCrLf)

' Write content to new file, overwriting any existing one
Set tsContent = objFSO.CreateTextFile("C:\SOSamples\Sample-Conv.xml")
tsContent.Write(strNew)
tsContent.Close()
Set tsContent = Nothing

Set objFSO = Nothing