求代码,如何检测文件夹正在使用(文件夹中的任何一个文件正在使用)

risen1968 2013-02-25 04:31:11
需要检查一个文件夹是否正在使用,也就是文件夹中的任何一个文件正在使用,求代码!
谢谢!各位老师。
...全文
235 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
risen1968 2013-02-28
  • 打赏
  • 举报
回复
多谢各位老师了!
都市夜猫 2013-02-25
  • 打赏
  • 举报
回复
引用 2 楼 risen1968 的回复:
如果此文件正在被拷贝, 也可以用Fopen() 打开此文件来判断吗?
可以用 Fopen 来判断
cOldDir = Sys(5) + Curdir()
Set Default To (Getdir())

If Adir(aTemp, '*.*') > 0
    cFile = ''
    For ii = 1 To Alen(aTemp, 1)
        cFile = aTemp[ii, 1]
        hh = Fopen(cFile, 2)
        If hh > 0
            Fclose(hh)
            cFile = ''
        Else
            Exit
        Endif
    Endfor

    If !Empty(cFile)
        Messagebox(Textmerge('文件 <<cFile>> 正被其他进程占用。'))
    Endif
Endif

Set Default To (cOldDir)
risen1968 2013-02-25
  • 打赏
  • 举报
回复
如果此文件正在被拷贝, 也可以用Fopen() 打开此文件来判断吗? 那用什么语句来判断某个文件是否正在被拷贝呢? 也就是说,这个文件夹中的任何一个文件在被拷贝的时候,这个文件夹会有什么状况,能用什么语句测出来呢? 请教十豆三老师!
十豆三 2013-02-25
  • 打赏
  • 举报
回复
lcDir='c:\vfp\'		&& 要判断的文件夹
Set Default To (lcDir)
gnFiles=Adir(gaFile,'*.*')
llError=.F.
For lnI=1 To gnFiles
lnOldFileName=gaFile(lnI,1)
lnNewFileName=Sys(2015)+'.aaa'
Try
Rename (lnOldFileName) To (lnNewFileName)
Rename (lnNewFileName) To (lnOldFileName)
Catch
llError=.T.
Endtry
If llError
Exit
Endif
Endfor
If llError
Messagebox('文件夹被占用',48,'信息提示')
Else
Messagebox('文件夹未被占用',64,'信息提示')
Endif

2,723

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧