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:abc"
If AutoCreateFolder(MyPath) Then
Response.Write "建立資料夾成功"
Else
Response.Write "建立資料夾失敗"
End If