佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > 用vbs實(shí)現(xiàn)對文本文件中的項(xiàng)計數(shù)

用vbs實(shí)現(xiàn)對文本文件中的項(xiàng)計數(shù)

熱門標(biāo)簽:美圖手機(jī) 智能手機(jī) 鐵路電話系統(tǒng) 網(wǎng)站文章發(fā)布 服務(wù)器配置 檢查注冊表項(xiàng) 呼叫中心市場需求 銀行業(yè)務(wù)
問:
嗨,腳本專家!如何向文本文件的頂部添加行?

-- FT

答:
您好,F(xiàn)T。您知道,在亞瑟·柯南·道爾爵士生涯的某一時刻,他實(shí)際上將夏洛克·福爾摩斯寫死了,他認(rèn)為他已寫完了有關(guān)這個大偵探所有能寫的一切。公眾的疾呼很快改變了他的想法,他迅速地使夏洛克·福爾摩斯起死回生。(按照所有肥皂劇的那種基本情節(jié)主線一路創(chuàng)作下來。)

我們腳本專家對亞瑟·柯南·道爾爵士深感同情。畢竟,我們會周期性地想,“好了,到這里吧;我們已編寫了有關(guān)文本文件所有能編寫的一切?!蔽覀儎傆写讼敕?,就立刻收到有關(guān)文本文件的一堆問題,其中包括三個人所問的同一問題:如何向文件文件的頂部添加行?

很簡單,我親愛的華生(啊,我親愛的 FT)。所有您需要做的只是使用類似下面的腳本:

復(fù)制代碼 代碼如下:

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,我們將在處理文本文件時使用這兩個常量。我們創(chuàng)建一個 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ū)懭?,但不能同時進(jìn)行這兩種操作。為向文件頂部添加新的一行,我們將必須對該文件進(jìn)行寫入;這意味著我們必須重新打開它,但這次是為了寫入。

接下來我們需要為該文件構(gòu)造新內(nèi)容。我們不能直接向文本文件的頂部添加行;FileSystemObject 只允許向文本文件的末尾添加新行。因此,我們需要做的是在內(nèi)存中創(chuàng)建一個全新的文件,然后用此新文件替換現(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)閉。嗨,我們只是想要模仿一下夏洛克·福爾摩斯。

說到這,您知道夏洛克·福爾摩斯有一個叫麥克羅夫特的哥哥嗎?這是真的。按照推測麥克羅夫特很有天賦,但卻因?yàn)樘珣卸鴽]做出什么有趣或有用的事。

嗨,您說這聽起來有點(diǎn)耳熟是何用意?沒關(guān)系;您很可能指的是某個其他的每天編寫腳本的專欄作家。

您可能感興趣的文章:
  • 使用VBS訪問外部文本文件一些方法和腳本實(shí)例代碼
  • vbs刪除文本文件的行的函數(shù)
  • 用vbs實(shí)現(xiàn)讀取文本文件的方法
  • 用vbscript實(shí)現(xiàn)從文本文件中刪除所有重復(fù)行的代碼
  • 用vbs對文本文件的內(nèi)容進(jìn)行排序
  • 用vbs讀取文本文件的最后一行
  • VBScript 文件操作代碼小結(jié)
  • VBS文本文件操作實(shí)現(xiàn)代碼

標(biāo)簽:滄州 沈陽 新疆 河南 上海 紅河 長治 樂山

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《用vbs實(shí)現(xiàn)對文本文件中的項(xiàng)計數(shù)》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    无为县| 柏乡县| 措勤县| 林口县| 江都市| 巫溪县| 偃师市| 砀山县| 林西县| 大荔县| 顺昌县| 翁牛特旗| 云南省| 泰顺县| 甘孜县| 射洪县| 高邮市| 祥云县| 芦溪县| 隆化县| 滁州市| 峡江县| 当阳市| 开阳县| 花莲县| 双辽市| 兴山县| 涞水县| 沛县| 营口市| 南漳县| 临澧县| 云霄县| 青田县| 天峻县| 冕宁县| 巢湖市| 宜兰市| 邹城市| 西盟| 海门市|