<
%
'
建立文件夹函数
Function
CreateFolder(strFolder)
'
参数为相对路径
'
首选判断要建立的文件夹是否已经存在
Dim
strTestFolder,objFSO
strTestFolder
=
Server.Mappath(strFolder)
Set
objFSO
=
CreateObject
(
"
Scripting.FileSystemObject
"
)
'
检查文件夹是否存在
If
not
objFSO.FolderExists(strTestFolder)
Then
'
如果不存在则建立文件夹
objFSO.CreateFolder(strTestFolder)
End
If
Set
objFSO
=
Nothing
End function
'
删除文件夹
Function
DelFolder(strFolder)
'
参数为相对路径
strTestFolder
=
Server.Mappath(strFolder)
Set
objFSO
=
CreateObject
(
"
Scripting.FileSystemObject
"
)
'
检查文件夹是否存在
If
objFSO.FolderExists(strTestFolder)
Then
objFSO.DeleteFolder(strTestFolder)
end
if
Set
objFSO
=
Nothing
End function
'
创建文本文件
Function
Createtextfile(fileurl,filecontent)
'
参数为相对路径和要写入文件的内容
Set
objFSO
=
Server.CreateObject(
"
Scripting.FileSystemObject
"
)
Set
fout
=
objFSO.CreateTextFile(Server.MapPath(fileurl))
fout.WriteLine filecontent
fout.close
Set
objFSO
=
Nothing
End Function
'
删除文件(适合所有文件)
Function
Deltextfile(fileurl)
'
参数为相对路径
Set
objFSO
=
CreateObject
(
"
Scripting.FileSystemObject
"
)
fileurl
=
Server.MapPath(fileurl)
if
objFSO.FileExists(fileurl)
then
'
检查文件是否存在
objFSO.DeleteFile(fileurl)
end
if
Set
objFSO
=
nothing
End Function
'
建立图片文件并保存图片数据流
Function
Createimage(fileurl,imagecontent)
'
参数为相对路径和文件内容
Set
objStream
=
Server.CreateObject(
"
ADODB.Stream
"
)
'
建立ADODB.Stream对象,必须要ADO 2.5以上版本
objStream.Type
=
1
'
以二进制模式打开
objStream.Open
objstream.write imagecontent
'
将字符串内容写入缓冲
objstream.SaveToFile server.mappath(fileurl),
2
'
-将缓冲的内容写入文件
objstream.Close()
'
关闭对象
set
objstream
=
nothing
End Function
'
远程获取文件数据
Function
getHTTPPage(url)
'
On Error Resume Next
dim
http
set
http
=
Server.createobject(
"
Microsoft.XMLHTTP
"
)
Http.open
"
GET
"
,url,
false
Http.send()
if
Http.readystate
<>
4
then
exit
function
end
if
getHTTPPage
=
bytesToBSTR(Http.responseBody,
"
GB2312
"
)
set
http
=
nothing
If
Err.number
<>
0
then
getHTTPPage
=
"
服务器获取文件内容出错
"
Err.Clear
End
If
End function
Function
BytesToBstr(body,Cset)
dim
objstream
set
objstream
=
Server.CreateObject(
"
adodb.stream
"
)
objstream.Type
=
1
objstream.Mode
=
3
objstream.Open
objstream.Write body
objstream.Position
=
0
objstream.Type
=
2
objstream.Charset
=
Cset
BytesToBstr
=
objstream.ReadText
objstream.Close
set
objstream
=
nothing
End Function
'
获取图片数据流
Function
getpic(url)
on
error
resume
next
dim
http
set
http
=
server.createobject(
"
MSXML2.XMLHTTP
"
)
'
使用xmlhttp的方法来获得图片的内容
Http.open
"
GET
"
,url,
false
Http.send()
if
Http.readystate
<>
4
then
exit
function
end
if
getpic
=
Http.responseBody
set
http
=
nothing
if
err.number
<>
0
then
getpic
=
"
服务器获取文件内容出错
"
err.Clear
End
if
End Function
'
打开文件(文本形式)
Function
OpenFile(fileurl)
'
文件相对路径
Dim
Filename,fso,hndFile
Filename
=
fileurl
Filename
=
Server.MapPath(Filename)
Set
objfso
=
CreateObject
(
"
Scripting.FileSystemObject
"
)
If
objfso.FileExists(Filename)
Then
set
hndFile
=
objfso.OpenTextFile(Filename)
OpenFile
=
hndFile.ReadAll
Else
OpenFile
=
"
文件读取错误
"
End
If
Set
hndFile
=
Nothing
Set
objfso
=
Nothing
End Function
'
获得文件的后缀名
function
getFileExtName(fileName)
dim
pos
pos
=
instrrev
(filename,
"
.
"
)
if
pos
>
0
then
getFileExtName
=
mid
(fileName,pos
+
1
)
else
getFileExtName
=
""
end
if
end function
%
>
Dim
fso,f,folder
Set
fso
=
Server.CreateObject(
"
scripting.filesystemobject
"
)
'
改目录名
Set
folder
=
fso.getfolder(Server.Mappath(
"
Old
"
))
folder.name
=
"
New
"
'
新名字
'
改文件名
Set
f
=
fso.getfile(Server.Mappath(
"
Old.asp
"
))
f.name
=
"
New.asp
"
'
新名字
'
释放
<
%
function
copyfile(l1,l2)
'
复制文件
on
error
resume
next
dim
fs
set
fs
=
createobject
(
"
Scripting.FileSystemObject
"
)
fs.copyfile server.mappath(l1),server.mappath(l2)
set
fs
=
nothing
if
err.number
<>
0
then
err.clear
end function
copyfile(
"
db1.mdb
"
,
"
db2.mdb
"
)
%
>
FSO操作全集
<
script language
=
vbs
>
on
error
resume
next
Set
fso
=
CreateObject
(
"
Scripting.FileSystemObject
"
)
'
使FSO组件可以被fso
变量调用
getfso
=
fso.DriveExists(
"
g:\
"
)
'
判断指定硬盘驱动器是否存在
getfso
=
fso.GetDrive(
"
c:
"
)
'
创建自定义的FSO驱动器对象
getfso
=
fso.GetDriveName(
"
c:\网络程序员伴侣
"
)
'
返回文件夹的所在盘符
Set
getfso
=
fso.Drives
'
创建FSO驱动器集合对象,多配合for each i in
getfso语句进行穷尽操作,支持所有[驱动器对象属性],并具有Count和Item属性
Set
fso
=
Nothing
'
释放fso变量与FSO组件的连接资源
</
script
>
驱动器对象操作
<
script language
=
vbs
>
on
error
resume
next
Set
fso
=
CreateObject
(
"
Scripting.FileSystemObject
"
)
'
使FSO组件可以被fso变量调用
getfso
=
fso.GetDrive(
"
c:
"
).FileSystem
'
返回驱动器对象的文件系统类型
getfso
=
fso.GetDrive(
"
c:
"
).DriveType
'
返回驱动器对象的驱动器类型,返回值范围0-5
getfso
=
fso.GetDrive(
"
c:
"
).DriveLetter
'
返回驱动器对象的字母
getfso
=
fso.GetDrive(
"
c:
"
).IsReady
'
返回指定驱动器是否准备好或是否损坏
getfso
=
fso.GetDrive(
"
c:
"
).SerialNumber
'
返回驱动器对象的唯一十进制卷标序号
getfso
=
fso.GetDrive(
"
c:
"
).ShareName
'
返回驱动器对象的网络共享名
getfso
=
fso.GetDrive(
"
c:
"
).VolumeName
'
返回驱动器对象的卷标名,同时也可以设置其卷标名
getfso
=
fso.GetDrive(
"
c:
"
).Path
'
返回驱动器的实际路径,如c:\则返回c:
getfso
=
fso.GetDrive(
"
c:
"
).RootFolder
'
返回驱动器对象的跟文件夹
getfso
=
fso.GetDrive(
"
c:
"
).AvailableSpace
'
返回驱动器对象的可用容量大小
getfso
=
fso.GetDrive(
"
c:
"
).FreeSpace
'
返回驱动器对象的剩余空间大小
getfso
=
fso.GetDrive(
"
c:
"
).TotalSize
'
返回驱动器对象的总空间容量大小
Set
fso
=
Nothing
'
释放fso变量与FSO组件的连接资源
</
script
>
系统文件夹操作
<
script language
=
vbs
>
on
error
resume
next
Set
fso
=
CreateObject
(
"
Scripting.FileSystemObject
"
)
'
使FSO组件可以被fso变量调用
getfso
=
fso.GetFolder(
"
c:\
"
)
'
创建自定义的FSO文件夹对象
getfso
=
fso.FolderExists(
"
e:\网络程序员伴侣
"
)
'
判断指定文件夹是否存在
getfso
=
fso.GettempName
'
随机返回WINDOW产生在temp文件夹中的临时文件
getfso
=
fso.GetparentFolderName(
"
e:\网络程序员伴侣
"
)
'
返回指定文件夹的父文件夹
fso.CreateFolder
"
c:\windows\新创建的文件夹路径及名称
"
fso.MoveFolder
"
c:\windows\许移动或改名的文件夹
"
,
"
c:\windows\移动路径和新的文件夹名
"
fso.DeleteFolder
"
c:\windows\要删除的目录名
"
,
false
/
true
fso.CopyFolder
"
c:\windows\须复制的目录名
"
,
"
c:\windows\得到付值内容的目录名
"
,
false
/
true
Set
getfso
=
fso.Folders
'
创建FSO文件夹集合对象,多配合for each i in getfso语句进行穷尽操作,支持所有[文件夹对象属性],并具有Count和Item属性,具有AddFolders方法
Set
getfso
=
fso.Files
'
创建FSO文件夹内文件集合对象,多配合for each i in getfso语句进行穷尽操作,支持所有[文件对象属性],并具有Count和Item属性
Set
fso
=
Nothing
'
释放fso变量与FSO组件的连接资源</script>
文件夹对象操作
<
script language
=
vbs
>
on
error
resume
next
Set
fso
=
CreateObject
(
"
Scripting.FileSystemObject
"
)
'
使FSO组件可以被fso变量调用
getfso
=
fso.GetFolder(
"
c:\windows
"
).Name
'
返回文件夹的名字,这里返回WINDOW
getfso
=
fso.GetFolder(
"
c:\windows
"
).ShortName
'
返回文件夹[8.3]格式的名称
getfso
=
fso.GetFolder(
"
c:\windows
"
).Attributes
'
返回文件夹的属性,可返回0,1,2,4,8,16,32,64,128
getfso
=
fso.GetFolder(
"
c:\windows
"
).Size
'
返回文件夹(包括子文件夹)内文件占用空间大小
getfso
=
fso.GetFolder(
"
c:\windows
"
).Type
'
返回文件夹类型信息
getfso
=
fso.GetFolder(
"
c:\windows
"
).Path
'
返回文件夹的真实路径
getfso
=
fso.GetFolder(
"
c:\windows
"
).ShortPath
'
返回文件夹[8.3]格式的路径
getfso
=
fso.GetFolder(
"
c:\windows
"
).Drive
'
返回文件夹所在驱动器
getfso
=
fso.GetFolder(
"
c:\windows
"
).Files.count
'
返回文件夹包含的所有文件对象集合
getfso
=
fso.GetFolder(
"
c:\windows
"
).SubFolders.count
'
返回文件夹包含的所有子文件夹的对象集合
getfso
=
fso.GetFolder(
"
c:\windows
"
).ParentFolder
'
返回文件夹的父文件夹对象
getfso
=
fso.GetFolder(
"
c:\windows
"
).IsRootFolder
'
返回文件夹是否为跟文件夹,是返回true否返回false
getfso
=
fso.GetFolder(
"
c:\windows
"
).DateCreated
'
返回文件夹的最初创建时间
getfso
=
fso.GetFolder(
"
c:\windows
"
).DateLastAccessed
'
返回文件夹最后一次访问时间
getfso
=
fso.GetFolder(
"
c:\windows
"
).DateLastModified
'
返回文件夹最近修改的时间
fso.GetFolder(
"
c:\windows
"
).CreateTextFile
"
新建的文件名及后缀
"
,
true
/
false
,
true
/
false
fso.GetFolder(
"
c:\windows\要删除的目录名
"
).Delete
true
fso.GetFolder(
"
c:\windows\要移动改名的目录名
"
).Move
"
文件夹将要移动到的路径及自定义文件夹名称
"
fso.GetFolder(
"
c:\windows\旧目录
"
).Copy
"
复制到路径
"
,
true
/
false
'
在指定路径付值此文件夹,true=覆盖,false相反
Set
fso
=
Nothing
'
释放fso变量与FSO组件的连接资源</script>
系统文件操作
<
script language
=
vbs
>
on
error
resume
next
Set
fso
=
CreateObject
(
"
Scripting.FileSystemObject
"
)
'
使FSO组件可以被fso变量调用
getfso
=
fso.GetFile(
"
c:\windows\help.html
"
)
'
得到文件完整路径
getfso
=
fso.GetFileName(
"
c:\windows\help.html
"
)
'
得到文件名称和后缀
getfso
=
fso.GetExtensionName(
"
c:\windows\help.html
"
)
'
得到文件的文件类型(后缀),不含小数点
getfso
=
fso.FileExists(
"
c:\windows\文件名.html
"
)
'
判断文件是否存在
fso.MoveFile
"
要移动及改名的原文件路径
"
,
"
移动到某路径及自定义新文件名
"
fso.DeleteFile
"
c:\windows\要删除的文件所在路径
"
,
false
/
true
fso.CopyFile
"
c:\windows\须复制的旧文件.txt
"
,
"
c:\windows\复制后的文件名.jpg
"
,
false
/
true
fso.OpenTextFile
"
c:\windows\desktop\要打开操作的文件名称.txt
"
,
1
/
2
/
8
,
true
/
false
,
0
/-
1
/-
2
'
ForReading=1=只读方式,ForWriting=2=可写方式,ForAppending=8=追加方式.true=如果打开的文件不存在则创建该文件.TristateFalse=0=以系统默认方式打开,TristateTrue=-1=以Unicode格式打开文件,TristateUseDefaule=-2=以ASCLL格式打开文件(缺剩值)
fso.CreateTextFile
"
c:\windows\desktop\新建的文件名称.txt
"
,
false
/
true
,
false
/
true
'
前者true覆盖以存在同名文件,后者为true新文件将以Unicode方式创建,反之=结果相反
Set
fso
=
Nothing
'
释放fso变量与FSO组件的连接资源
</
script
>
文件对象操作
<
script language
=
vbs
>
on
error
resume
next
Set
fso
=
CreateObject
(
"
Scripting.FileSystemObject
"
)
'
使FSO组件可以被fso变量调用
getfso
=
fso.GetFile(
"
c:\windows\笔记本.txt
"
).Name
'
返回文件对象的名称包含后缀
getfso
=
fso.GetFile(
"
c:\windows\笔记本.txt
"
).ShortName
'
返回文件对象的[8.3]名称包含后缀
getfso
=
fso.GetFile(
"
c:\windows\笔记本.txt
"
).Attributes
'
返回文件对象的属性,可返回0,1,2,4,8,16,32,64,128
getfso
=
fso.GetFile(
"
c:\windows\笔记本.txt
"
).Size
'
返回文件对象的大小
getfso
=
fso.GetFile(
"
c:\windows\笔记本.txt
"
).Type
'
返回文件对象的类型
getfso
=
fso.GetFile(
"
c:\windows\笔记本.txt
"
).Path
'
返回文件对象的完整路径
getfso
=
fso.GetFile(
"
c:\windows\笔记本.txt
"
).ShortPath
'
返回文件对象的[8.3]的完整路径
getfso
=
fso.GetFile(
"
c:\windows\笔记本.txt
"
).Drive
'
返回此文件对象所在的驱动器
getfso
=
fso.GetFile(
"
c:\windows\笔记本.txt
"
).ParentFolder
'
返回文件对象所在的文件夹
getfso
=
fso.GetFile(
"
c:\windows\笔记本.txt
"
).DateCreated
'
返回文件对象的创建日期
getfso
=
fso.GetFile(
"
c:\windows\笔记本.txt
"
).DateLastAccessed
'
返回文件对象的最后访问日期
getfso
=
fso.GetFile(
"
c:\windows\笔记本.txt
"
).DateLastModified
'
返回文件对象的最后修改时间
fso.GetFile(
"
c:\windows\笔记本.txt
"
).Copy
"
复制到的路径和文件名
"
,
true
/
false
fso.GetFile(
"
c:\windows\笔记本.txt
"
).Delete
true
fso.GetFile(
"
c:\windows\笔记本.txt
"
).Move
"
移动到的路径及自定义文件名
Set
fso
=
Nothing
'
释放fso变量与FSO组件的连接资源
</
script
>
文件对象读写操作
<
script language
=
vbs
>
on
error
resume
next
Set
fso
=
CreateObject
(
"
Scripting.FileSystemObject
"
)
'
使FSO组件可以被fso变量调用
set
link1
=
fso.GetFile(
"
c:\windows\笔记本.txt
"
).OpenAsTextStream(
1
/
2
/
8
,
0
/-
1
/-
2
)
open1
=
link1.AtendOfline
'
判断文件指针是否以在行的末尾
open2
=
link1.AtendOfstream
'
判断文件指针是否一再文件的末尾
open3
=
link1.Column
'
返回当前字符所在文件的列号
open4
=
link1.Line
'
返回当前字符所在文件的行号
open5
=
link1.Read(
10
)
'
读取文件中指定数量的字符
open6
=
link1.ReadAll
'
读取文件中所有的字符
open7
=
link1.ReadLine
'
读取文件中一行中含有的字符
open8
=
link1.Write
"
字符串
"
'
将自定字符串或字符串变量写入文件
open9
=
link1.WriteLine
"
字符
"
'
将自定字符+一个换行符写入文件
open10
=
link1.WriteBlankLines
10
'
将指定数量的换行符写入文件
open11
=
link1.Skip
10
'
使文件指针跳过指定数量的字符
open12
=
link1.SkipLine
'
使文件指针跳到下一行
link1.Close
'
文件操作完毕,销毁文件对象指针
Set
fso
=
Nothing
'
释放fso变量与FSO组件的连接资源
</
script
>