對于文件的操作,例如:生成一個或者打開一個或者刪除一個.txt格式文件。
雖然官方的FILE插件提供了一些基本功能,但功能不多。
你并不需要理解什么是fso模版,什么是vbs語句,直接套用下面的語句吧!
紅色字為自己定義的部分,藍色字為任意選一部分
如果你看不懂,請參考下面的例子!
操作同一個文件紅色部分必須相同
請認真看括號內的解釋內容
定義一個名為fso的關系文件問題的對象,對于一個文件的操作只需寫一次,此句必須寫
VBS Set fso = CreateObject("Scripting.FileSystemObject")
0.判斷一個文件或文件夾是否存在(yn是返回值,文件存在返回1,不存在返回0)
VBS yn=fso.FileExists(判斷文件的目錄)
1.創(chuàng)建一個文件(藍字定義該文本文件是否可以被下次寫入覆蓋,省略默認為ture)
VBS set ttfile=fso.createtextfile(創(chuàng)建的文件目錄,ture|false)
2.打開一個已存在的文件(藍字定義文件寫入方式,分別為a.只讀b.可讀寫,但每打開一次文件重寫c.在文件末尾寫)
VBS const forreading=1
VBS const forwriting=2
VBS const forappending=8
注意:要想更改打開方式必須關閉文件重新打開
VBS set ttfile=fso.opentextfile(打開文件的目錄,forreading|forwriting|forappending)
3.關閉一個打開的文件(紅色部分要于已經(jīng)打開的文件紅色部分相同)
VBS ttfile.close
4.讀取打開文件的一行并回車(紅色部分ttfile要于已經(jīng)打開的文件紅色部分相同)
VBS read=ttfile.ReadLine
5.讀取所有文件內容(紅色部分ttfile要于已經(jīng)打開的文件紅色部分相同)
VBS read=ttfile.ReadAll
6.寫入一行并回車(紅色部分要于已經(jīng)打開的文件紅色部分相同)
VBS ttfile.writeline(自己要寫入的內容)
7.刪除指定文件(若已定義過ttfile則不需要第一句)
VBS set ttfile=fso.GetFile(要刪的文件目錄)
VBS ttfile.delete
8.判斷輸入標記是否在末尾(是返回-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")
//關閉1.txt
VBS txtfile.close
endif
//以只讀方式打開1.txt
VBS set txtfile=fso.opentextfile("d:\1.txt",forreading)
//讀取第一行,并將其賦予變量read
VBS read=txtfile.ReadLine
//關閉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ù)表示目標文件存在時是否覆蓋
f.Write("寫入內容")
f.WriteLine("寫入內容并換行")
f.WriteBlankLines(3) '寫入三個空白行(相當于在文本編輯器中按三次回車)
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ù)表示目標文件不存在時是否創(chuàng)建
f.Skip(3) '將當前位置向后移三個字符
f.SkipLine() '將當前位置移動到下一行的第一個字符,注意:無參數(shù)
response.Write f.Read(3) '從當前位置向后讀取三個字符,并將當前位置向后移三個字符
response.Write f.ReadLine() '從當前位置向后讀取直到遇到換行符(不讀取換行符),并將當前位置移動到下一行的第一個字符,注意:無參數(shù)
response.Write f.ReadAll() '從當前位置向后讀取,直到文件結束,并將當前位置移動到文件的最后
if f.atEndOfLine then
response.Write("一行的結尾!")
end if
if f.atEndOfStream then
response.Write("文件的結尾!")
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("寫入內容")
f.WriteLine("寫入內容并換行")
f.WriteBlankLines(3) '寫入三個空白行(相當于在文本編輯器中按三次回車)
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("目標文件存在")
else
response.Write("目標文件不存在")
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
復制文件
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") '目標文件夾的父文件夾必須存在
set fso = nothing
判斷文件夾是否存在
dim fso
set fso = server.CreateObject("Scripting.FileSystemObject")
if fso.FolderExists("C:\Windows") then
response.Write("目標文件夾存在")
else
response.Write("目標文件夾不存在")
end if
set fso = nothing
刪除文件夾
dim fso
set fso = server.CreateObject("Scripting.FileSystemObject")
fso.DeleteFolder("C:\test") '文件夾不必為空
set fso = nothing
到這里就差不多了,希望大家多寫多練
您可能感興趣的文章:- 使用VBS訪問外部文本文件一些方法和腳本實例代碼
- vbs刪除文本文件的行的函數(shù)
- 用vbs實現(xiàn)讀取文本文件的方法
- 用vbscript實現(xiàn)從文本文件中刪除所有重復行的代碼
- 用vbs對文本文件的內容進行排序
- 用vbs實現(xiàn)對文本文件中的項計數(shù)
- 用vbs讀取文本文件的最后一行
- VBScript 文件操作代碼小結