打印

[求助] 学习中,恳请帮忙!

学习中,恳请帮忙!

我有一段代码是删除文件夹sh001下两天之前的文件夹,如果改成删除d:\createxi下所有以sh开头的文件夹下2天之前的文件夹要怎么修改呢?恳请知道的帮个忙指点一下。8 z% r7 j) z( a0 j5 c# a! q
Dim i, fso, f, f1, sf, BasePath, CalcResult, fNameArray()
5 Y, A) e C v7 n/ U5 |BasePath = "D:\create\sh001"
( T5 q8 w- D$ A) k1 ~3 b. H; G& | X2 I1 rSet fso = CreateObject("Scripting.FileSystemObject")' i0 O3 t. X( S& x0 v
Set f = fso.GetFolder(BasePath), @6 C9 k w, C- T
Set sf = f.SubFolders' Z' s' V2 c0 J5 `+ R# Y
For Each f1 in sf
, ?6 x$ J7 K8 o! m y; N CalcResult = DateDiff("d",f1.DateCreated,Now). Q8 l& A! u. r5 t$ p
if CalcResult > 2 then" w, {2 M h8 l) ^* B
ReDim preserve fNameArray(i)
8 G' ?+ ^ G& v* {, K fNameArray(i) = f1.Name
/ Z, R( ^6 F9 s i = i + 1' p, [9 u# [* ~* V; n1 [- l" w
end if9 x$ T& \& L8 Q4 r
Next
. \: Z+ ?& t) x3 v8 |For Each fName in fNameArray
( M0 Y) W; M! g& y' ^% W FSO.DeleteFolder(BasePath & "\" & fName)7 v/ G0 ~+ k- z
Next/ u0 x, u0 O6 v) b1 r

! d$ m$ U" b+ [5 Z& m1 s. }: `) v[ 本帖最后由 北羊 于 2008-4-24 21:10 编辑 ]

TOP

主程验证文件夹名,符合要求就执行子程序; ^0 |) a7 j2 G0 I8 _9 q& o* s
子程序就是你写的那个了
复制内容到剪贴板
代码:
Dim i, fso, f, f1, sf, BasePath, CalcResult, fNameArray()

BasePath = "D:\create\sh001"
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(BasePath)
Set sf = f.SubFolders

For Each f1 in sf
if f1.name ="^sh\S*" then '此处的正则表达式我不保证正确,对这东西刚开始学习,呵呵,见笑
clear(f1)
end if
Next


Function clear(subfolder)
这里的内容跟你那个一样
End Function
考完试鸟,心力憔悴呀~~~~接下来,准备补考

TOP

我也来学习

TOP