處理文件用到的常量有:ForReading = 1 ,F(xiàn)orWriting=2,ForAppending=8,用于的操作分別是讀/寫和追加,都要在使用之前用VBS Const來聲明。常用于處理文本文件的方法有:Read(var)—讀var個(gè)字符,ReadLine—讀一行,ReadAll—讀整個(gè)文件內(nèi)容,SkipLine—跳過本行指向下一行,Write(var)—把字符串var寫入文件,WriteLine(var)—把字符串var和換行符寫入文件,WriteBlankLines(n)—寫入n個(gè)換行符。
下面給出幾個(gè)利用VBScript訪問外部文件的例子:
1.創(chuàng)建一個(gè)新的文本文件,如果文件已經(jīng)存在則報(bào)告錯(cuò)誤:
復(fù)制代碼 代碼如下:
Rem 在當(dāng)前盤根目錄下創(chuàng)建"測試.txt"并寫入一個(gè)字符串
VBS dim fso,file,filename
VBS filename="\測試.txt"
VBS Const ForWriting=2
VBS Set fso=CreateObject("Scripting.FileSystemObject")
If fso.FileExists(filename)=-1
VBSCall Call MessageBox("發(fā)現(xiàn)錯(cuò)誤!!!文件已經(jīng)存在!!!")
Goto over
EndIf
VBS Set file=fso.CreateTextFile(filename,Ture)
VBS file.WriteLine("文件第一行,這是一個(gè)測試文件")
VBS file.Close
VBSCall Call MessageBox("測試文件創(chuàng)建成功!!!")
Rem over
EndScript
2.強(qiáng)行寫入文件覆蓋原有內(nèi)容:
復(fù)制代碼 代碼如下:
Rem 在當(dāng)前盤根目錄下創(chuàng)建"測試.txt"并寫入一個(gè)字符串
VBS dim fso,file,filename
VBS filename="\測試.txt"
VBS Const ForWriting=2
VBS Set fso=CreateObject("Scripting.FileSystemObject")
If fso.FileExists(filename)=-1
VBSCall Call MessageBox("發(fā)現(xiàn)錯(cuò)誤!!!文件已經(jīng)存在!!!")
Goto over
EndIf
VBS Set file=fso.CreateTextFile(filename,Ture)
VBS file.WriteLine("文件第一行,這是一個(gè)測試文件")
VBS file.Close
VBSCall Call MessageBox("測試文件創(chuàng)建成功!!!")
Rem over
EndScript
3.往文件尾部追加內(nèi)容:
復(fù)制代碼 代碼如下:
Rem 往當(dāng)前盤根目錄下的文件"測試.txt"末尾追加一個(gè)字符串
VBS dim fso,file,filename
VBS filename="\測試.txt"
VBS Const ForAppending=8
VBS Set fso=CreateObject("Scripting.FileSystemObject")
If fso.FileExists(filename)=0
VBSCall Call MessageBox("發(fā)現(xiàn)錯(cuò)誤!!!文件不存在!!!")
Goto over
EndIf
VBS Set file=fso.OpenTextFile(filename,ForAppending)
VBS file.WriteLine("測試追加字符串到文件末尾")
VBS file.Close
VBSCall Call MessageBox("追加字符串到文件成功!!!")
Rem over
EndScript
4.讀取指定文件一行
復(fù)制代碼 代碼如下:
Rem 從當(dāng)前盤根目錄下的文件"測試.txt"讀一行
VBS dim fso,file,filename,text
VBS filename="\測試.txt"
VBS Const ForReading=1
VBS Set fso=CreateObject("Scripting.FileSystemObject")
If fso.FileExists(filename)=0
VBSCall Call MessageBox("發(fā)現(xiàn)錯(cuò)誤!!!文件不存在!!!")
Goto over
EndIf
VBS Set file=fso.OpenTextFile(filename,ForReading)
VBS text=file.ReadLine
VBS file.Close
VBS text="從文件"filename"讀取行成功!讀到的字符串為:"text
VBSCall Call MessageBox(text)
Rem over
EndScript
5.從指定文件行讀取2個(gè)字符
復(fù)制代碼 代碼如下:
Rem 從當(dāng)前盤根目錄下的文件"測試.txt"讀取2個(gè)字符
VBS dim fso,file,filename,text
VBS filename="\測試.txt"
VBS Const ForReading=1
VBS Set fso=CreateObject("Scripting.FileSystemObject")
If fso.FileExists(filename)=0
VBSCall Call MessageBox("發(fā)現(xiàn)錯(cuò)誤!!!文件不存在!!!")
Goto over
EndIf
VBS Set file=fso.OpenTextFile(filename,ForReading)
VBS text=file.Read(2)
VBS file.Close
VBS text="從文件"filename"讀取2個(gè)字符成功!讀到的字符為:"text
VBSCall Call MessageBox(text)
Rem over
EndScript
6. ReadAll讀取整個(gè)文件內(nèi)容,大文件太占資源,不建議使用
//使用方法和ReadLine近似
7.SkipLine跳過當(dāng)前行
//使用方法是file.SkipLine,僅用于只讀屬性打開的文件
8.測試文件行結(jié)束/文件結(jié)束
a.測試行結(jié)束
判斷語句
If file.AtEndOfLine=-1
...
EndIf
//表達(dá)式為真的時(shí)候當(dāng)前指針處于行末
b.測試文件結(jié)束
判斷語句
If file.AtEndOfStream=-1
...
EndIf
//表達(dá)式為真的時(shí)候當(dāng)前指針處于文件末
9.其他用于文件的函數(shù)或者叫方法功能有
a.file.Column 返回當(dāng)前列號(hào)
b.file.Line 返回當(dāng)前行號(hào)
c.file.FileExists(filename) 判斷指定文件是否存在
最后強(qiáng)調(diào)一點(diǎn),打開文件以后一定要記得關(guān)閉,以免發(fā)生數(shù)據(jù)錯(cuò)誤,丟失數(shù)據(jù)。
您可能感興趣的文章:- vbs刪除文本文件的行的函數(shù)
- 用vbs實(shí)現(xiàn)讀取文本文件的方法
- 用vbscript實(shí)現(xiàn)從文本文件中刪除所有重復(fù)行的代碼
- 用vbs對(duì)文本文件的內(nèi)容進(jìn)行排序
- 用vbs實(shí)現(xiàn)對(duì)文本文件中的項(xiàng)計(jì)數(shù)
- 用vbs讀取文本文件的最后一行
- VBScript 文件操作代碼小結(jié)
- VBS文本文件操作實(shí)現(xiàn)代碼