宁波.Net技术讨论区

ASP中Scripting.FileSystemObject对象执行问题以及其方法createFolder("test")执行不了问题

 

出现的问题描述:

在我本机执行是ok的,服务器上一开始也是ok的,在安装了 FrontPage Server Extensions(FPSE) 2002就不行了,现在把FPSE卸载了
这是完整的代码,
dim XMLPath
XMLPath= server.mappath("/") & "fdp\"& month(now) & "-" & day(now) & " " & hour(now) & "-" & minute(now) & "-" & second(now)


Set fso = CreateObject("Scripting.FileSystemObject")
  
response.write "<br/>OKK1111111111111" & XMLPath

fso.createFolder(XMLPath) 

response.write "<br/>OKK2222222222222" & XMLPath

fso.createFolder(XMLPath & "\configuration")

response.write "<br/>OKK33333333333333" & XMLPath

XMLPath=XMLPath & "\configuration"

fso.createFolder(XMLPath & "\parameter")
fso.createFolder(XMLPath & "\wallpapers")
fso.createFolder(XMLPath & "\sounds")
fso.createFolder(XMLPath & "\sounds\alarms")
fso.createFolder(XMLPath & "\sounds\notifications")
fso.createFolder(XMLPath & "\sounds\ringtones")
fso.createFolder(XMLPath & "\sounds\ui")
response.write "<br/>OKK444444444444" & XMLPath
 

原因和解决办法:

FDP

 

 

除此之外,有部分执行的问题是因为

1.是因为Scripting.FileSystemObject对象的未注册问题,

解决办法:

重新注册scrrun.dll

如:“开始”---“运行”中输入“regsvr32.exe %windir%/system32/scrrun.dll”然后回车,重新注册一下FSO对象

检测方式可借鉴:建议使用阿江探针测试一下你现在的服务器上FileSystemObject组件状况;

2。使用错误检测机制发现问题原因

	On Error Resume Next
	‘fso.createFolder(XMLPath) 出错行内容
	If Err.Number <> 0 then
	response.write "you cuo wu"
	%>
	错误 Number: <%= Err.Number %><br/> 
	错误信息:   <%= Err.Description %><br/> 
	出错文件:   <%= Err.Source %><br/> 
	出错行:     <%= Err.Line %><br/>
	<%= Err %>			
	end if
	On Error Goto 0	
使用这个就可以检测错误了,对于错误 Number,可参考:	ASP Err.Number 对应的Description
关于安装之后的文章,分析考参考,MSDN文章:IIS 有问必答 – 2003 年 8 月
 
3。使用如下分方式来检测
Function MD(strSysPath)
    On Error Resume Next
    Dim i
    Dim objFSO
    Dim arrPath
    Dim strNoncePath
    MD = True
    Set objFSO = Server.Createobject("Scripting.FileSystemObject")
    If Not objFSO.FolderExists(strSysPath) Then
        arrPath = Split(strSysPath, "\")
        strNoncePath = arrPath(0)
        For i = 1 To UBound(arrPath)
            strNoncePath = strNoncePath & "\" & arrPath(i)
            If objFSO.FolderExists(strNoncePath) Then
            Else
                objFSO.CreateFolder strNoncePath
            End If
        Next
    End If
    Set objFSO = Nothing
    If Err.Number <> 0 Then MD = False
    On Error Goto 0
End Function

示例代码:response.write MD(XMLPath & "\sounds") 'True为成功 False为失败 
 
最后说下 ASP 真的很过时了。。。。。。
 
 
posted @ 2010-12-07 18:19  山 人  阅读(1569)  评论(0编辑  收藏  举报