用vbs實(shí)現(xiàn)對文本文件中的項(xiàng)計(jì)數(shù)
問:
嗨,腳本專家!如何向文本文件的頂部添加行?
-- FT
答:
您好,F(xiàn)T。您知道,在亞瑟·柯南·道爾爵士生涯的某一時(shí)刻,他實(shí)際上將夏洛克·福爾摩斯寫死了,他認(rèn)為他已寫完了有關(guān)這個(gè)大偵探所有能寫的一切。公眾的疾呼很快改變了他的想法,他迅速地使夏洛克·福爾摩斯起死回生。(按照所有肥皂劇的那種基本情節(jié)主線一路創(chuàng)作下來。)
我們腳本專家對亞瑟·柯南·道爾爵士深感同情。畢竟,我們會周期性地想,“好了,到這里吧;我們已編寫了有關(guān)文本文件所有能編寫的一切?!蔽覀儎傆写讼敕ǎ土⒖淌盏接嘘P(guān)文本文件的一堆問題,其中包括三個(gè)人所問的同一問題:如何向文件文件的頂部添加行?
很簡單,我親愛的華生(啊,我親愛的 FT)。所有您需要做的只是使用類似下面的腳本:
Const ForReading = 1
Const ForWriting = 2
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("C:\Scripts\Test.txt", ForReading)
strContents = objFile.ReadAll
objFile.Close
strFirstLine = "This is the new first line in the text file."
strNewContents = strFirstLine & vbCrLf & strContents
Set objFile = objFSO.OpenTextFile("C:\Scripts\Test.txt", ForWriting)
objFile.WriteLine strNewContents
objFile.Close
好了,現(xiàn)在游戲已經(jīng)開始了,不是嗎?我們首先創(chuàng)建一對常量 - ForReading 和 ForWriting,我們將在處理文本文件時(shí)使用這兩個(gè)常量。我們創(chuàng)建一個(gè) FileSystemObject 實(shí)例,然后使用 OpenTextFile 方法打開文件 C:\Scripts\Test.txt 以讀取以下內(nèi)容:
Set objFile = objFSO.OpenTextFile("C:\Scripts\Test.txt", ForReading)
現(xiàn)在文件已打開,我們使用 ReadAll 方法讀取該文件的全部內(nèi)容并將這些內(nèi)容存儲在稱作 strContents 的變量中。然后我們立即關(guān)閉文件 Test.txt。為什么?是這樣,通過 FileSystemObject 可打開文件進(jìn)行讀取或?qū)懭耄荒芡瑫r(shí)進(jìn)行這兩種操作。為向文件頂部添加新的一行,我們將必須對該文件進(jìn)行寫入;這意味著我們必須重新打開它,但這次是為了寫入。
接下來我們需要為該文件構(gòu)造新內(nèi)容。我們不能直接向文本文件的頂部添加行;FileSystemObject 只允許向文本文件的末尾添加新行。因此,我們需要做的是在內(nèi)存中創(chuàng)建一個(gè)全新的文件,然后用此新文件替換現(xiàn)有 Test.txt 的內(nèi)容。新文件將由三部分組成:新的第一行;回車-換行;及該文件的現(xiàn)有內(nèi)容。為構(gòu)造此文件,我們首先使用下面的代碼在稱為 strFirstLine 的變量中存儲新的第一行:
strFirstLine = "This is the new first line in the text file."
然后我們使用以下代碼行合并新的第一行、回車-換行(使用 VBScript 常量 vbCrLf)及該文件的現(xiàn)有內(nèi)容(存儲在變量 strContents 中):
strNewContents = strFirstLine & vbCrLf & strContents
現(xiàn)在剩下的工作就是重新打開 Test.txt(這次是為了寫入),然后使用 WriteLine 方法用新文件替換現(xiàn)有內(nèi)容:
Set objFile = objFSO.OpenTextFile("C:\Scripts\Test.txt", ForWriting)
objFile.WriteLine strNewContents
然后我們調(diào)用 Close 方法,就像這樣,大功告成。好了,文件關(guān)閉。嗨,我們只是想要模仿一下夏洛克·福爾摩斯。
說到這,您知道夏洛克·福爾摩斯有一個(gè)叫麥克羅夫特的哥哥嗎?這是真的。按照推測麥克羅夫特很有天賦,但卻因?yàn)樘珣卸鴽]做出什么有趣或有用的事。
嗨,您說這聽起來有點(diǎn)耳熟是何用意?沒關(guān)系;您很可能指的是某個(gè)其他的每天編寫腳本的專欄作家。
上一篇:用vbs實(shí)現(xiàn)按創(chuàng)建日期的順序列出一個(gè)文件夾中的所有文件
欄 目:vb
下一篇:用vbs 實(shí)現(xiàn)從剪貼板中抓取一個(gè) URL 然后在瀏覽器中打開該 Web 站點(diǎn)
本文標(biāo)題:用vbs實(shí)現(xiàn)對文本文件中的項(xiàng)計(jì)數(shù)
本文地址:http://mengdiqiu.com.cn/a1/vb/7865.html
您可能感興趣的文章
- 01-10下載文件到本地運(yùn)行的vbs
- 01-10VBS中的正則表達(dá)式的用法大全 <font color=red>原創(chuàng)&
- 01-10VBS中SendKeys的基本應(yīng)用
- 01-10VBScript教程 第十一課深入VBScript
- 01-10用VBSCRIPT控制ONSUBMIT事件
- 01-10VBScript語法速查及實(shí)例說明
- 01-10VBS中Select CASE的其它用法
- 01-10VBScript教程 第七課使用條件語句
- 01-10vbscript 可以按引用傳遞參數(shù)嗎?
- 01-10VBScript教程 第二課在HTML頁面中添加VBscript代碼


閱讀排行
本欄相關(guān)
- 01-10下載文件到本地運(yùn)行的vbs
- 01-10飄葉千夫指源代碼,又稱qq刷屏器
- 01-10SendKeys參考文檔
- 01-10什么是一個(gè)高效的軟件
- 01-10VBS中的正則表達(dá)式的用法大全 &l
- 01-10exe2swf 工具(Adodb.Stream版)
- 01-10VBS中SendKeys的基本應(yīng)用
- 01-10用VBSCRIPT控制ONSUBMIT事件
- 01-10VBScript教程 第十一課深入VBScript
- 01-10VBScript語法速查及實(shí)例說明
隨機(jī)閱讀
- 01-10delphi制作wav文件的方法
- 04-02jquery與jsp,用jquery
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 01-10使用C語言求解撲克牌的順子及n個(gè)骰子
- 01-11ajax實(shí)現(xiàn)頁面的局部加載
- 08-05織夢dedecms什么時(shí)候用欄目交叉功能?
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 01-10C#中split用法實(shí)例總結(jié)