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 | |
原因和解决办法:
除此之外,有部分执行的问题是因为
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 | |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述