VBS文本文件操作實現(xiàn)代碼
對于文件的操作,例如:生成一個或者打開一個或者刪除一個.txt格式文件。
雖然官方的FILE插件提供了一些基本功能,但功能不多。
你并不需要理解什么是fso模版,什么是vbs語句,直接套用下面的語句吧!
紅色字為自己定義的部分,藍(lán)色字為任意選一部分
如果你看不懂,請參考下面的例子!
操作同一個文件紅色部分必須相同
請認(rèn)真看括號內(nèi)的解釋內(nèi)容
定義一個名為fso的關(guān)系文件問題的對象,對于一個文件的操作只需寫一次,此句必須寫
VBS Set fso = CreateObject("Scripting.FileSystemObject")
0.判斷一個文件或文件夾是否存在(yn是返回值,文件存在返回1,不存在返回0)
VBS yn=fso.FileExists(判斷文件的目錄)
1.創(chuàng)建一個文件(藍(lán)字定義該文本文件是否可以被下次寫入覆蓋,省略默認(rèn)為ture)
VBS set ttfile=fso.createtextfile(創(chuàng)建的文件目錄,ture|false)
2.打開一個已存在的文件(藍(lán)字定義文件寫入方式,分別為a.只讀b.可讀寫,但每打開一次文件重寫c.在文件末尾寫)
VBS const forreading=1
VBS const forwriting=2
VBS const forappending=8
注意:要想更改打開方式必須關(guān)閉文件重新打開
VBS set ttfile=fso.opentextfile(打開文件的目錄,forreading|forwriting|forappending)
3.關(guān)閉一個打開的文件(紅色部分要于已經(jīng)打開的文件紅色部分相同)
VBS ttfile.close
4.讀取打開文件的一行并回車(紅色部分ttfile要于已經(jīng)打開的文件紅色部分相同)
VBS read=ttfile.ReadLine
5.讀取所有文件內(nèi)容(紅色部分ttfile要于已經(jīng)打開的文件紅色部分相同)
VBS read=ttfile.ReadAll
6.寫入一行并回車(紅色部分要于已經(jīng)打開的文件紅色部分相同)
VBS ttfile.writeline(自己要寫入的內(nèi)容)
7.刪除指定文件(若已定義過ttfile則不需要第一句)
VBS set ttfile=fso.GetFile(要刪的文件目錄)
VBS ttfile.delete
8.判斷輸入標(biāo)記是否在末尾(是返回-1,否則返回0)
VBS yn=ttfile.atendofstream
以下是一些文件夾的操作
8.判斷是否為根目錄(yn是返回值,文件存在返回1,不存在返回0)
VBS yn=fso.IsRootFolder
9.讀取文件夾
VBS set ttfile=fso.GetFolder(文件夾目錄)
10.創(chuàng)建一個文件夾
VBS set ttfile=fso.creaFolder(創(chuàng)建的文件夾目錄)
11.刪除指定文件夾(若已定義過ttfile則不需要第一句)
VBS set ttfile=fso.GetFolder(要刪的文件目錄)
VBS ttfile.deletefolder
下面是其他一些經(jīng)常用到的文件操作(注意:可用于所有格式的文件。紅字是你的上文腳本已經(jīng)定義過的)
VBS ttfile.size 返回文件大小
VBS ttfile.type 返回文件類型
VBS ttfile.DateCreated 返回文件創(chuàng)建時間
VBS ttfile.DatelastAccessed 返回文件最近訪問時間
VBS ttfile.DateLastModified 返回文件最后修改時間
VBS ttfile.name 返回文件名稱
VBS ttfile.ShortPath 返回文件短路徑名
VBS ttfile.path 返回文件物理地址
VBS Set fso = CreateObject("Scripting.FileSystemObject") //判斷d盤下是否有文件1.txt VBS pd1=fso.FileExists(d:\1.txt) if 0=pd1 //沒有的話,在d盤下創(chuàng)建一個不可覆蓋的文件1.txt VBS set txtfile=fso.createtextfile("d:\1.txt",false) //以在末尾寫入的方式打開1.txt VBS set txtfile=fso.opentextfile("d:\1.txt",forappending) //寫入一行“1234567890” VBS txtfile.writeline("1234567890") //關(guān)閉1.txt VBS txtfile.close endif //以只讀方式打開1.txt VBS set txtfile=fso.opentextfile("d:\1.txt",forreading) //讀取第一行,并將其賦予變量read VBS read=txtfile.ReadLine //關(guān)閉1.txt VBS txtfile.close
一時間沒有完全列出所有函數(shù),不足的部分希望大家跟帖補上。
'creat by 席飛劍(小席老師)
'操作文本文件,操作fso對象(文件對象操作)
創(chuàng)建文件
dim fso, f set fso = server.CreateObject("Scripting.FileSystemObject") set f = fso.CreateTextFile("C:\test.txt", true) '第二個參數(shù)表示目標(biāo)文件存在時是否覆蓋 f.Write("寫入內(nèi)容") f.WriteLine("寫入內(nèi)容并換行") f.WriteBlankLines(3) '寫入三個空白行(相當(dāng)于在文本編輯器中按三次回車) f.Close() set f = nothing set fso = nothing
打開并讀文件
dim fso, f set fso = server.CreateObject("Scripting.FileSystemObject") set f = fso.OpenTextFile("C:\test.txt", 1, false) '第二個參數(shù) 1 表示只讀打開,第三個參數(shù)表示目標(biāo)文件不存在時是否創(chuàng)建 f.Skip(3) '將當(dāng)前位置向后移三個字符 f.SkipLine() '將當(dāng)前位置移動到下一行的第一個字符,注意:無參數(shù) response.Write f.Read(3) '從當(dāng)前位置向后讀取三個字符,并將當(dāng)前位置向后移三個字符 response.Write f.ReadLine() '從當(dāng)前位置向后讀取直到遇到換行符(不讀取換行符),并將當(dāng)前位置移動到下一行的第一個字符,注意:無參數(shù) response.Write f.ReadAll() '從當(dāng)前位置向后讀取,直到文件結(jié)束,并將當(dāng)前位置移動到文件的最后 if f.atEndOfLine then response.Write("一行的結(jié)尾!") end if if f.atEndOfStream then response.Write("文件的結(jié)尾!") end if f.Close() set f = nothing set fso = nothing
打開并寫文件
dim fso, f set fso = server.CreateObject("Scripting.FileSystemObject") set f = fso.OpenTextFile("C:\test.txt", 2, false) '第二個參數(shù) 2 表示重寫,如果是 8 表示追加 f.Write("寫入內(nèi)容") f.WriteLine("寫入內(nèi)容并換行") f.WriteBlankLines(3) '寫入三個空白行(相當(dāng)于在文本編輯器中按三次回車) f.Close() set f = nothing set fso = nothing
判斷文件是否存在
dim fso set fso = server.CreateObject("Scripting.FileSystemObject") if fso.FileExists("C:\test.txt") then response.Write("目標(biāo)文件存在") else response.Write("目標(biāo)文件不存在") end if set fso = nothing
移動文件
dim fso set fso = server.CreateObject("Scripting.FileSystemObject") call fso.MoveFile("C:\test.txt", "D:\test111.txt") '兩個參數(shù)的文件名部分可以不同 set fso = nothing
復(fù)制文件
dim fso set fso = server.CreateObject("Scripting.FileSystemObject") call fso.CopyFile("C:\test.txt", "D:\test111.txt") '兩個參數(shù)的文件名部分可以不同 set fso = nothing
刪除文件
dim fso set fso = server.CreateObject("Scripting.FileSystemObject") fso.DeleteFile("C:\test.txt") set fso = nothing
創(chuàng)建文件夾
dim fso set fso = server.CreateObject("Scripting.FileSystemObject") fso.CreateFolder("C:\test") '目標(biāo)文件夾的父文件夾必須存在 set fso = nothing
判斷文件夾是否存在
dim fso set fso = server.CreateObject("Scripting.FileSystemObject") if fso.FolderExists("C:\Windows") then response.Write("目標(biāo)文件夾存在") else response.Write("目標(biāo)文件夾不存在") end if set fso = nothing
刪除文件夾
dim fso set fso = server.CreateObject("Scripting.FileSystemObject") fso.DeleteFolder("C:\test") '文件夾不必為空 set fso = nothing
到這里就差不多了,希望大家多寫多練
相關(guān)文章
VBS技術(shù)內(nèi)幕:CreateObject函數(shù)詳解
CreateObject函數(shù)可以說是VBS中最強大的函數(shù),沒有了它,VBS只能用來算算數(shù)學(xué)題。我們都知道CreateObject函數(shù)可以創(chuàng)建對象,但是很多人并不知道其中的奧秘2018-05-05遠(yuǎn)程開啟/關(guān)閉目標(biāo)telnet服務(wù)的windows腳本RTCS.vbs
遠(yuǎn)程開啟/關(guān)閉目標(biāo)telnet服務(wù)的windows腳本RTCS.vbs...2007-02-02Windows Script Host之用vbs實現(xiàn)[瀏覽文件夾]功能
Windows Script Host之用vbs實現(xiàn)[瀏覽文件夾]功能...2007-07-07簡單用VBS調(diào)用企業(yè)微信機器人發(fā)定時消息的方法
這篇文章主要介紹了簡單用VBS調(diào)用企業(yè)微信機器人發(fā)定時消息的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07