在现有文件上找不到'文件未找到'错误
问题描述:
我在这个小脚本的'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'的保护? 有什么想法?谢谢。
答
您正遇到竞赛状况。文件属性缓存在GetFile
的第二行。如果该文件存在,该代码将继续运行。您需要在该点之前锁定,或刷新属性缓存并在Application.Lock
后仔细检查存在。
什么是'Application.Lock'和'Application.Unlock'语句?你没有在代码中对应用程序变量做任何事情,所以他们没有意义? – Lankymart 2014-10-27 05:10:50