按鍵精靈進階指令碼

來源:互聯網
上載者:User
處理檔案用到的常量有:ForReading = 1 ,ForWriting=2,ForAppending=8,用於的操作分別是讀/寫和追加,都要在使用之前用VBS Const來聲明。常用於處理文字檔的方法有:Read(var)—讀var個字元,ReadLine—讀一行,ReadAll—讀整個檔案內容,SkipLine—跳過本行指向下一行,Write(var)—把字串var寫入檔案,WriteLine(var)—把字串var和分行符號寫入檔案,WriteBlankLines(n)—寫入n個分行符號。
下面給出幾個利用VBScript訪問外部檔案的例子:
1.建立一個新的文字檔,如果檔案已經存在則報告錯誤:
Rem 在當前盤根目錄下建立"測試.txt"並寫入一個字串
VBS dim fso,file,filename
VBS filename="\測試.txt"
VBS Const ForWriting=2
VBS Set fso=CreateObject("Scripting.FileSystemObject")
IfExpression fso.FileExists(filename)=-1
VBSCall Call MessageBox("發現錯誤!!!檔案已經存在!!!")@<stdlib.vbs>
Goto over
EndIf
VBS Set file=fso.CreateTextFile(filename,Ture)
VBS file.WriteLine("檔案第一行,這是一個測試檔案")
VBS file.Close
VBSCall Call MessageBox("測試檔案建立成功!!!")@<stdlib.vbs>
Rem over
EndScript
2.強行寫入檔案覆蓋原有內容:
Rem 往當前盤根目錄下的檔案"測試.txt"寫入一個字串,覆蓋原有內容
VBS dim fso,file,filename
VBS filename="\測試.txt"
VBS Const ForWriting=2
VBS Set fso=CreateObject("Scripting.FileSystemObject")
IfExpression fso.FileExists(filename)=0
VBSCall Call MessageBox("發現錯誤!!!檔案不存在!!!")@<stdlib.vbs>
Goto over
EndIf
VBS Set file=fso.OpenTextFile(filename,ForWriting,Ture)
VBS file.WriteLine("測試寫入檔案行")
VBS file.Close
VBSCall Call MessageBox("寫入檔案成功!!!")@<stdlib.vbs>
Rem over
EndScript
3.往檔案尾部追加內容:
Rem 往當前盤根目錄下的檔案"測試.txt"末尾追加一個字串
VBS dim fso,file,filename
VBS filename="\測試.txt"
VBS Const ForAppending=8
VBS Set fso=CreateObject("Scripting.FileSystemObject")
IfExpression fso.FileExists(filename)=0
VBSCall Call MessageBox("發現錯誤!!!檔案不存在!!!")@<stdlib.vbs>
Goto over
EndIf
VBS Set file=fso.OpenTextFile(filename,ForAppending)
VBS file.WriteLine("測試追加字串到檔案末尾")
VBS file.Close
VBSCall Call MessageBox("追加字串到檔案成功!!!")@<stdlib.vbs>
Rem over
EndScript
4.讀取指定檔案一行
Rem 從當前盤根目錄下的檔案"測試.txt"讀一行
VBS dim fso,file,filename,text
VBS filename="\測試.txt"
VBS Const ForReading=1
VBS Set fso=CreateObject("Scripting.FileSystemObject")
IfExpression fso.FileExists(filename)=0
VBSCall Call MessageBox("發現錯誤!!!檔案不存在!!!")@<stdlib.vbs>
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)@<stdlib.vbs>
Rem over
EndScript
5.從指定檔案行讀取2個字元
Rem 從當前盤根目錄下的檔案"測試.txt"讀取2個字元
VBS dim fso,file,filename,text
VBS filename="\測試.txt"
VBS Const ForReading=1
VBS Set fso=CreateObject("Scripting.FileSystemObject")
IfExpression fso.FileExists(filename)=0
VBSCall Call MessageBox("發現錯誤!!!檔案不存在!!!")@<stdlib.vbs>
Goto over
EndIf
VBS Set file=fso.OpenTextFile(filename,ForReading)
VBS text=file.Read(2)
VBS file.Close
VBS text="從檔案"&filename&"讀取2個字元成功!讀到的字元為:"&text
VBSCall Call MessageBox(text)@<stdlib.vbs>
Rem over
EndScript
6. ReadAll讀取整個檔案內容,大檔案太佔資源,不建議使用
使用方法和ReadLine近似
7.SkipLine跳過當前行
使用方法是file.SkipLine,僅用於唯讀屬性開啟的檔案
8.測試檔案行結束/檔案結束
a.測試行結束
判斷語句
IfExpression file.AtEndOfLine=-1
...
EndIf
運算式為真的時候當前指標處於行末
b.測試檔案結束
判斷語句
IfExpression file.AtEndOfStream=-1
...
EndIf
運算式為真的時候當前指標處於檔案末
9.其他用於檔案的函數或者叫方法功能有
a.file.Column 返回當前列號
b.file.Line   返回當前行號
c.file.FileExists(filename) 判斷指定檔案是否存在
有興趣的朋友可以仔細研究一下,現在就講這麼多,整理的比較倉促,如果有問題希望大家指正。
最後強調一點,開啟檔案以後一定要記得關閉,以免發生資料錯誤,遺失資料。有問題的朋友可以跟帖,大家一起研究

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.