实现代码一、比较专业看起来
'============================== '创建多级目录,可以创建不存在的根目录 '参数:要创建的目录名称,可以是多级 '创建目录的根目录从当前目录开始 '''调用举例 ''Call CreateMultiFolder("/upload/jumbot/myphoto/") '============================== Function CreateMultiFolder(ByVal CFolder) Dim objFSO, PhCreateFolder, CreateFolderArray, CreateFolder Dim i, ii, CreateFolderSub, PhCreateFolderSub, BlInfo BlInfo = False CreateFolder = CFolder On Error Resume Next Set objFSO = Server.CreateObject("Scripting.FileSystemObject") If Err Then Err.Clear() Exit Function End If If Right(CreateFolder, 1) = "/" Then CreateFolder = Left(CreateFolder, Len(CreateFolder) -1) End If CreateFolderArray = Split(CreateFolder, "/") For i = 0 To UBound(CreateFolderArray) CreateFolderSub = "" For ii = 0 To i CreateFolderSub = CreateFolderSub & CreateFolderArray(ii) & "/" Next PhCreateFolderSub = Server.MapPath(CreateFolderSub) If Not objFSO.FolderExists(PhCreateFolderSub) Then objFSO.CreateFolder(PhCreateFolderSub) End If Next If Err Then Err.Clear() Else BlInfo = True End If CreateMultiFolder = BlInfo End Function
上面的是循环
实现方法二、
'自动创建多极目录 'code by jb51 reterry function createit(path) dim fsofo,cinfo,thepath,thepatharray dim i,ii,binfo binfo=false thepath=path set fsofo=createobject("scripting.filesystemobject") if err then err.clear exit function end if thepath=replace(thepath,"\","/") if left(thepath,1)="/" then thepath=right(thepath,len(thepath)-1) end if if right(thepath,1)="/" then thepath=left(thepath,len(thepath)-1) end if thepatharray=split(thepath,"/") for i=0 to ubound(thepatharray) createfoldersub1=createfoldersub1&thepatharray(i)&"/" createfoldersub=server.mappath(createfoldersub1) if not fsofo.folderexists(createfoldersub) then fsofo.createfolder(createfoldersub) end if next if err then err.clear else binfo=true end if createit=binfo end function
下面的是通过正则实现
'============================== ''创建文件目录(多层) ''使用正则 '============================== Function Create_N_Folder(save, ByVal Path) Dim Fso Set Fso = Server.CreateObject("Scripting.FileSystemObject") If Not Fso.FolderExists(Path) Then Dim regEx Set regEx = New RegExp regEx.Pattern = "^(.*)\\([^\\]*)$" regEx.Global = False regEx.IgnoreCase = True save = save & regEx.Replace(Path, "$2") & "|" Path = regEx.Replace(Path, "$1") If Create_N_Folder(save, Path) Then Create_N_Folder = True Set regEx = Nothing Else If save = "|" Then Create_N_Folder = True Else Dim Temp Temp = Mid(save, 2, Len(save) - 2) If InStrRev(Temp, "|") = 0 Then save = "|" Path = Path & "\" & Temp Else Dim Folder Folder = Mid(Temp, InStrRev(Temp, "|") + 1) save = "|" & Mid(Temp, 1, InStrRev(Temp, "|") - 1) & "|" Path = Path & "\" & Folder End If Fso.CreateFolder Path If Create_N_Folder(save, Path) Then Create_N_Folder = True End If End If Set Fso = Nothing End Function
内容版权声明:除非注明,否则皆为本站原创文章。