Vbscript 如果文件大小超过20MB并指定了文件名,则删除特定文件
抛出错误请建议我相信,您希望通过循环删除文件夹中的所有文件,这些文件的大小大于20MBVbscript 如果文件大小超过20MB并指定了文件名,则删除特定文件,vbscript,Vbscript,抛出错误请建议我相信,您希望通过循环删除文件夹中的所有文件,这些文件的大小大于20MB Set oFSO = CreateObject("Scripting.FileSystemObject") sDirectoryPath = "C:\Users\Desktop\z\" Set oFolder = oFSO.GetFolder(sDirectoryPath) Set oFileCollection = oFolder.Files If oFile.Size > 20000000 A
Set oFSO = CreateObject("Scripting.FileSystemObject")
sDirectoryPath = "C:\Users\Desktop\z\"
Set oFolder = oFSO.GetFolder(sDirectoryPath)
Set oFileCollection = oFolder.Files
If oFile.Size > 20000000 And ofile.Filename = "nor.dotm Then
oFile.Delete(True)
End If
如果只想删除特定文件
Set of so=CreateObject(“Scripting.FileSystemObject”)
你发布的代码中有几个错误,其中一些是Alex K.已经犯过的
- 引用文件名后缺少双引号
- 从未将任何文件对象指定给变量
oFile
- 枚举目录中的文件,但从不迭代集合
- 保存文件对象名称的属性是,而不是
Filename
GetFile
,而不是遍历文件夹中的所有文件,只需检查文件大小:
sDirectoryPath = "C:\Users\Desktop\z\"
FileName = "MyFile.Txt"
'set oFolder = oFSO.GetFolder(sDirectoryPath)
set ofile = oFSO.GetFile(sDirectoryPath & FileName)
If oFile.Size > 20000000 and ofile.name ="nor.dotm" Then
oFile.Delete(True)
End If
如果要检查具有特定扩展名的文件,则需要实际迭代文件夹中的文件:
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
文件从不声明或分配给任何东西。如果要对特定文件执行此操作,请使用GetFile而不是GetFolder。nor.dotm周围缺少引号。您能帮我找出文件名或.dotm两者都可以吗?请在询问有关引发错误的代码时始终包含实际错误消息。如果大小20mb且扩展名或文件名匹配,则删除该文件,在.log文件中写入日志特定文件已删除谢谢您的支持
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