我有时在这个小脚本的'DeleteFile'行上有一个'找不到文件'错误: (我想当几个客户端同时打开脚本时)
if objFSO.FileExists(fileName) then
Set f = objFSO.GetFile(fileName)
if DateDiff("d", f.DateLastModified, date()) > 3 then
Application.Lock
objFSO.DeleteFile(fileName)
Application.Unlock
end if
Set f = nothing
end if
但这应该受到第一行'FileExists'的保护吗? 任何的想法 ?感谢。
答案 0 :(得分:2)
你正在遇到竞争状态。文件属性缓存在第二行GetFile
中。如果该文件存在,则代码将继续运行。您需要在该点之前锁定,或刷新属性缓存并在Application.Lock
之后仔细检查是否存在。