FSO对象
一、FSO对象
1声明
Set FSO对象实例对象=Server.CreateObject("Scripting.FileSystemObject")
二、文件夹操作
1 CreateFolder方法
功能:创建文件夹
语法:FSO对象实例名称.CreatFolder("文件夹的物理路径名称")
2 CopyFolder 复制文件夹
语法: Fso.CopyrFolder "源文件夹物理地址","目标物理地址"
3 DeleteForlder
4 FolderExists属性
三、文件操作
1 CreateTextFile方法
语法 Set 文件实例名称=Fso对象实例.CreateTextFile("文件的物理路径及全名")
2 OpenTextFile方法
语法 Set 文件实例=Fos对象实例名称.OpenTextFile("文件的物理路径全名",文件读写模式,是否创建)
说明:
文件读写模式 含义
1 只读(默认)
2 覆盖改写
8 追加改写
3 Write和WriteLine方法
文件实例名称.WriteLine("内容")
4 Read及ReadLine
举例'/****创建文件指定文件****/
set FSO=CreateObject("Scripting.FileSystemObject")
if not FSO.FolderExists(server.mappath("Myfiles")) then
set MyFolder=FSO.CreateFolder(server.mappath("Myfiles")) '在当前目录下创建Myfiles文件夹
set MyFile = MyFolder.CreateTextFile(requset("filename")) '在Myfiles文件夹内创建requset("filename")文件
MyFile.Write(requset("txt")) '向文件requset("filename")内写入内容
set MyFile=nothing
set MyFolder=nothing
end if
set fso=nothing
'/****删除Myfiles文件夹****/
set FSO=CreateObject("Scripting.FileSystemObject")
if FSO.FolderExists(server.mappath("Myfiles")) then
FSO.DeleteFolder server.mappath("Myfiles")
end if
set fso=nothing__________________________________________________________________
<%
'由于用户可能是通过代理访问网站,所以使用Http_X_ForWarded_For来获取用户的真实IP
IP=Request.ServerVariables("Http_X_ForWarded_For")
'如果获取的IP为空,通常说明用户没有使用代理,而是直接访问。这也不一定。如果用户使用的代理套代理,那获取的还是代理。
'Remote_Addr获取的是用户的直接IP。
if IP="" then IP=Request.ServerVariables("Remote_Addr") end ifMac = GetMACAddress(IP) '调用函数,将IP转化为对应的Mac地址。
strHost = Request.ServerVariables("REMOTE_HOST") '获取客户计算机的名称
Function GetMACAddress(strIP) '建立函数
Set net = Server.CreateObject("wscript.network") '建立两个系统对象,用户通过IP地址查找用户的mac地址
Set sh = Server.CreateObject("wscript.shell")
'执行一个系统命令,用来查询指定IP的对应的mac地址。并且将输出结果存入一个文本文件。该文件以IP地址命名
sh.run "%comspec% /c nbtstat -A " & strIP & "> c:/" & strIP & ".txt ",0,true
Set sh = nothing
'建立FSO对象,读取该文本文件
Set fso = createobject("scripting.filesystemobject")
Set ts = fso.opentextfile("c:/" & strIP & ".txt")
macaddress = null
'循环依次检测文本文件中的每一个mac信息。
Do While Not ts.AtEndOfStream
data = ucase(trim(ts.readline))
If instr(data,"MAC ADDRESS") Then
macaddress = trim(split(data,"=")(1)) '获取mac地址。
Exit Do
End If
loop
ts.close
Set ts = nothing
fso.deletefile "c:/" & strIP & ".txt" '删除这个文件
Set fso = nothing
GetMACAddress = macaddress
End Function
%>这个代码比较复杂。主要集中在:
1.大家对Http_X_ForWarded_For不了解。
2.wscript.network和wscript.shell对象的不了解。这两个对象,可能在虚拟空间中不支持。
3."%comspec% /c nbtstat -A " & strIP & "> c:/" & strIP & ".txt ",0,true 这行命令中的,输出结果保存在指定文件的原理不清楚。因为这个涉及DOS一些知识。所以也是比较难的。
4.FSO不了解。大家用FSO比较少。所以,会比较陌生。
5.split函数的不了解。