国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > VBScript > 正文

用vbs實現對文本文件中的項計數

2020-07-26 12:01:29
字體:
來源:轉載
供稿:網友
問:
嗨,腳本專家!如何向文本文件的頂部添加行?

-- FT

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

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

很簡單,我親愛的華生(啊,我親愛的 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 
注意。很有趣的是,在原本小說中夏洛克?福爾摩斯從沒有說“很簡單,我親愛的華生”。我們不知道為什么他不那么說;他就是不那么說。


好了,現在游戲已經開始了,不是嗎?我們首先創建一對常量 - ForReading 和 ForWriting,我們將在處理文本文件時使用這兩個常量。我們創建一個 FileSystemObject 實例,然后使用 OpenTextFile 方法打開文件 C:/Scripts/Test.txt 以讀取以下內容:

Set objFile = objFSO.OpenTextFile("C:/Scripts/Test.txt", ForReading)

現在文件已打開,我們使用 ReadAll 方法讀取該文件的全部內容并將這些內容存儲在稱作 strContents 的變量中。然后我們立即關閉文件 Test.txt。為什么?是這樣,通過 FileSystemObject 可打開文件進行讀取或寫入,但不能同時進行這兩種操作。為向文件頂部添加新的一行,我們將必須對該文件進行寫入;這意味著我們必須重新打開它,但這次是為了寫入。

接下來我們需要為該文件構造新內容。我們不能直接向文本文件的頂部添加行;FileSystemObject 只允許向文本文件的末尾添加新行。因此,我們需要做的是在內存中創建一個全新的文件,然后用此新文件替換現有 Test.txt 的內容。新文件將由三部分組成:新的第一行;回車-換行;及該文件的現有內容。為構造此文件,我們首先使用下面的代碼在稱為 strFirstLine 的變量中存儲新的第一行:

strFirstLine = "This is the new first line in the text file."

然后我們使用以下代碼行合并新的第一行、回車-換行(使用 VBScript 常量 vbCrLf)及該文件的現有內容(存儲在變量 strContents 中):

strNewContents = strFirstLine & vbCrLf & strContents

現在剩下的工作就是重新打開 Test.txt(這次是為了寫入),然后使用 WriteLine 方法用新文件替換現有內容:

Set objFile = objFSO.OpenTextFile("C:/Scripts/Test.txt", ForWriting)
objFile.WriteLine strNewContents

然后我們調用 Close 方法,就像這樣,大功告成。好了,文件關閉。嗨,我們只是想要模仿一下夏洛克?福爾摩斯。

說到這,您知道夏洛克?福爾摩斯有一個叫麥克羅夫特的哥哥嗎?這是真的。按照推測麥克羅夫特很有天賦,但卻因為太懶而沒做出什么有趣或有用的事。

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 西充县| 肃南| 临清市| 台北县| 琼中| 洞口县| 濮阳县| 凌海市| 普安县| 罗田县| 溧阳市| 察隅县| 亚东县| 鹤庆县| 梧州市| 大渡口区| 曲靖市| 天津市| 苗栗县| 大冶市| 云梦县| 三明市| 彩票| 桐庐县| 会理县| 兰西县| 进贤县| 老河口市| 疏附县| 子洲县| 久治县| 志丹县| 阳西县| 蓝山县| 团风县| 巴青县| 嫩江县| 郓城县| 宁南县| 黄冈市| 沂源县|