宁波.Net技术讨论区

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

 

出现的问题描述:

在我本机执行是ok的,服务器上一开始也是ok的,在安装了 FrontPage Server Extensions(FPSE) 2002就不行了,现在把FPSE卸载了
这是完整的代码,
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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
1
  

原因和解决办法:

FDP

 

 

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

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

解决办法:

重新注册scrrun.dll

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

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

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

1
2
3
4
5
6
7
8
9
10
11
12
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   
1
使用这个就可以检测错误了,对于错误 Number,可参考:    <a href="http://www.cnblogs.com/masky5310/archive/2010/12/07/1899292.html">ASP Err.Number 对应的Description</a>
1
关于安装之后的文章,分析考参考,MSDN文章:<a href="http://www.cnblogs.com/masky5310/archive/2010/12/07/1899325.html">IIS 有问必答 – 2003 年 8 月</a>
1
  
1
3。使用如下分方式来检测
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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 真的很过时了。。。。。。
1
  
1
  
posted @   山 人  阅读(1576)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示