麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > VBScript > 正文

用vbscript實現從后到前閱讀一個文本文件

2020-07-26 12:00:55
字體:
來源:轉載
供稿:網友
問:
嗨,Scripting Guy!我有一個日志文件,新的數據總是被添加到文件的底部;也就是說最近的條目總是位于文件的末尾處。我想從最后一行開始讀取內容,直到文件的第一行,但是我不知道怎樣實現。

-- MB, Milwaukee, WI

答:
您好,MB.FileSystemObject 非常有用,但是它也具有它自己的一些限制;主要限制之一便是它只能從前向后讀取文件內容。和 Tail 工具不同,您不能要求 FileSystemObject 從后向前讀取文件。(好,我們假定您要求這么做,但是它肯定無法為您實現。)

但是,沒有關系,正如使用腳本做其他事情一樣,您總能找到一個辦法沖破這種限制的束縛。在這種情況下,我們所做的就是繼續向前,從前向后讀取文件,從第一行還是,到最后一行結束。但是,和立即將這些行顯示在屏幕上不同,我們將它們保存在一個數組里,文件中的每一行代表數組中的一個元素。

我們為什么要這樣做?好,現在我們有了一個下面這樣的數組,保存了文本文件中的信息:

violet
indigo
blue
green
yellow
orange
red

不可否認的是,我們現在所做的就像重新發明輪子一樣。不過,文本文件和數組之間有一個重要的不同之處: 從后向前讀取數組非常容易。我們將要腳本從數組中的最后一個項目開始(我們可以使用 Ubound 函數來確定)并且從后向前讀取到數組的第一個項目(Lbound)。

在我們的示例數組中,有 7 個項目;最后一個項目(Ubound)是單詞 red,第一個項目(Lbound)是單詞 violet。數組中的第一個項目的下標為 0;所以 violet 的下標為 0,red 的下標為 6。我們的腳本將從項目 6 開始向前到項目 0 為止。那怎樣實現呢?我們將參數 Step 設為 -1,也就表示,“找到項目 6 ,然后對它做點什么;然后將下標減 1,得到 5。在找到項目 5 ,再對它做點什么。重復這個過程,直到處理完了數組中的所有項目。”

具體的實現代碼如下所示:

Dim arrFileLines()
i = 0
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("C:/FSO/ScriptLog.txt", 1)
Do Until objFile.AtEndOfStream
     Redim Preserve arrFileLines(i)
     arrFileLines(i) = objFile.ReadLine
     i = i + 1
Loop
objFile.Close
For l = Ubound(arrFileLines) to LBound(arrFileLines) Step -1
    Wscript.Echo arrFileLines(l)
Next

如果您沒有使用過數組,可能看起來有點糊涂,但是在熟悉了它之后,便會發現它實際上很簡單。

好,我們從后向前讀取文件的輸出結果如下所示:

red orange yellow green blue indigo violet
有關數組使用的更多信息,請參閱Microsoft Windows 2000 腳本編寫指南.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 中文日韩| 香蕉久草在线 | chinese乱子伦xxxx国语对白 | 午夜影视一区二区 | 精品亚洲福利一区二区 | 国产午夜精品一区二区三区视频 | 欧美成人午夜 | 久久国产精品小视频 | 91精品国产91热久久久做人人 | www国产成人免费观看视频,深夜成人网 | 在线影院av| 九九热在线视频观看 | 欧美a在线观看 | 中文字幕在线第二页 | 欧美一级高潮片免费的 | 黄色网址你懂的 | 九九热精 | 国产精品99久久久久久大便 | 欧美xxxxx视频| 国产一区二区视频在线播放 | 成人性生活视频在线观看 | 亚洲视频在线视频 | 成人黄色短视频在线观看 | 精品一区二区在线观看 | 欧美四级在线观看 | 天堂二区 | 在线成人免费观看 | 在线无码| 亚洲精品一区二区三区免 | 欧美视频在线一区二区三区 | 欧美成人精品欧美一级乱黄 | 国产精品99久久久久久宅女 | 亚洲国产小视频 | 91小视频在线观看免费版高清 | 精品91av | 亚洲精品动漫在线观看 | 精品中文视频 | 国产成人高潮免费观看精品 | 国产激情精品一区二区三区 | 欧美人的天堂一区二区三区 | 天天看天天摸天天操 |