簡體   English   中英

如何打開HTML文件作為文本文件以使用VBScript讀取代碼?

[英]How can I open an HTML file as a text file to read the code using VBScript?

我有很多HTML頁面,需要在其上更改幾行相同的文本。 為了減少在“記事本”中手動打開每個文本並查找文本並將其替換為新文本所花費的時間,我想創建一個腳本來為我執行此操作。

如何打開HTML文件,讀取組成頁面的代碼並查找並替換其中的文本? 我知道如何打開,讀取,查找/替換,編寫,關閉文本文件,但是有沒有辦法使用HTML文件呢?

html文件是文本文件,只需像打開其他任何文本文件一樣打開它們即可。

所以代替:

Dim fileReader As New System.IO.StreamReader("c:\file.txt")

做就是了

Dim fileReader As New System.IO.StreamReader("c:\file.html")

通常,編程語言的文本閱讀器實際上並不關心文件的擴展名,只要它包含文本即可。

[編輯]

糟糕,對不起,我想我在評論中把vbscript與常規的Visual Basic混在一起了。

在vbscript中,常規方法是使用FileSystemObject,就像Helen建議的那樣。

HTML文件是文本文件,因此您可以按照與讀取任何其他文本文件相同的方式來讀取它們(例如,使用FileSystemObject對象)。

現在,有沒有一種方法可以讓我的腳本在不知道其名稱的情況下打開指定文件夾中的所有.html文件?

您可以枚舉Folder.Files集合並檢查文件擴展名,如下所示:

Const ForReading = 1, ForWriting = 2, ForAppending = 8
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0

Dim oFSO, oFolder, oFile, oTextStream, strText

Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFSO.GetFolder("C:\MyFolder")

For Each oFile In oFolder.Files
  If LCase(oFSO.GetExtensionName(oFile.Name)) = "html" Then

    Set oTextStream = oFile.OpenAsTextStream(ForReading, TristateUseDefault)
    strText = oTextStream.ReadAll
    oTextStream.Close

    ' Do something with strText '

    Set oTextStream = oFile.OpenAsTextStream(ForWriting, TristateUseDefault)
    oTextStream.Write strText
    oTextStream.Close

  End If
Next

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM