#sql-ee8_272
投掷错误请建议
答案 0 :(得分:0)
我相信,您希望通过循环删除文件夹中的所有文件,大小超过20MB。
ActionBlock<{--whatever the type of your parameter is--}>
如果您只想删除特定文件,
设置oFSO = CreateObject(&#34; Scripting.FileSystemObject&#34;)
Set oFSO = CreateObject("Scripting.FileSystemObject")
sDirectoryPath = "C:\Users\Desktop\z\"
set oFolder = oFSO.GetFolder(sDirectoryPath)
set oFileCollection = oFolder.Files
For Each ofile in oFileCollection
If oFile.Size > 20000000 and ofile.name ="nor.dotm" Then
oFile.Delete(True)
End If
Next
答案 1 :(得分:0)
您发布的代码中有几处错误,其中一些错误是Alex K.已经pointed out in the comments。
oFile
分配任何文件对象。Name
,而不是Filename
。如果您只想检查给定文件夹中的特定文件是否超过给定大小,则应使用GetFile
而不是遍历文件夹中的所有文件,只需检查文件的大小:
Set fso = CreateObject("Scripting.FileSystemObject")
dir = "C:\Users\Desktop\z"
Set f = fso.GetFile(fso.BuildPath(dir, "nor.dotm"))
If f.Size > 20000000 Then
f.Delete True
End If
如果要检查具有特定扩展名的文件,则需要实际迭代文件夹中的文件:
Set fso = CreateObject("Scripting.FileSystemObject")
dir = "C:\Users\Desktop\z"
For Each f In fso.GetFolder(dir).Files
If f.Size > 20000000 And fso.GetExtensionName(f) = "dotm" Then
f.Delete True
End If
Next