当前位置: 首页 > 图文教程 > 网络编程 > ASP > 在ASP中自动创建多级文件夹的函数(使用FSO)

ASP
asp+语法教程(三)asp+的服务器端编程初步
asp+语法教程(四)asp+的服务器端编程进介
asp+语法教程(五)asp+的服务器端编程控件篇
asp+语法教程(六)数据库篇
从ASP迁移至ASP+
从ASP迁移至ASP+ --进入DataSet
从ASP迁移至ASP+ --HTML表格转换为ASP+列表
从ASP迁移至ASP+ --转换其他的页面
从ASP迁移至ASP+ --处理会话变量
ASP十步进阶
asp.net高级教程(一)-asp.net还是asp+ ?
asp.net高级教程(二)- 转换编程思维
asp.net高级教程(三)-对象
asp.net高级教程(三)-实战篇
asp.net高级教程(五)-实战篇(中)
ASP+中文教程(一)--asp+简介、安装、以及如何显示中文
asp+中文教程(二)-- Asp+ Web Forms
APS + 中文教程(三)--服务器端控制(一)
SQL数据操作基础(初级) 4
SQL数据操作基础(初级) 5

在ASP中自动创建多级文件夹的函数(使用FSO)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 40 ::
收藏到网摘: n/a

 

    FSO中有个方法是CreateFolder,但是这个方法只能在其上一级文件夹存在的情况下创建新的文件夹,所以我就写了一个自动创建多级文件夹的函数,在生成静态页面等方面使用非常方便.

函数:
 
' --------------------------------
' 自动创建指定的多级文件夹
' strPath为绝对路径
' 引用请保留版权
' by im286_Anjer
' 2005-4-3
Function AutoCreateFolder(strPath) ' As Boolean
        On Error Resume Next

        Dim astrPath, ulngPath, i, strTmpPath
        Dim objFSO

        If InStr(strPath, "\") <=0 Or InStr(strPath, ":") <= 0 Then
                AutoCreateFolder = False
                Exit Function
        End If
        Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
        If objFSO.FolderExists(strPath) Then
                AutoCreateFolder = True
                Exit Function
        End If
        astrPath = Split(strPath, "\")
        ulngPath = UBound(astrPath)
        strTmpPath = ""
        For i = 0 To ulngPath
                strTmpPath = strTmpPath & astrPath(i) & "\"
                If Not objFSO.FolderExists(strTmpPath) Then
                        ' 创建
                        objFSO.CreateFolder(strTmpPath)
                End If
        Next
        Set objFSO = Nothing
        If Err = 0 Then
                AutoCreateFolder = True
        Else
                AutoCreateFolder = False
        End If
End Function
 


调用方法:

MyPath = "C:\a\b\c\"
If AutoCreateFolder(MyPath) Then
        Response.Write "创建文件夹成功"
Else
        Response.Write "创建文件夹失败"
End If