主题:VFP与隐藏文件及文件夹问题!
hw2007name
[专家分:4790] 发布于 2008-09-17 10:33:00
VFP在判断隐藏文件或文件夹时是没问题,FILE()和DIRECTORY()函数可以解决,但是VFP在使用操作时,遇到了困难,不知道如何解决。如:要在VFP中删除一个隐藏文件或文件夹,或许RD命令能办到删除目录,但隐藏文件我试了很久,DELE FILE 和ERASE两个命令都没办法删除隐藏文件,我看一VFP9的帮助也没找到解决办法,现在只能使用VFP以外的办法如API,还有就是MYDLL中的一个删除文件及文件夹函数,不知道VFP能不能直接办到的命令,或比较简单的办法,如创建一个WIN对象类的操作文件及文件夹等方法,还请各位大侠多指点一下,在此先感谢各位狐友了。
回复列表 (共8个回复)
沙发
cbl518 [专家分:57140] 发布于 2008-09-17 10:50:00
! /n2 cmd /c ERASE /F/S/A[color=FF0000]/Q[/color] "G:\temp\temC.tmp"
板凳
cbl518 [专家分:57140] 发布于 2008-09-17 11:02:00
先删除所有文件
! /n2 cmd /c ERASE /F/S/A/Q "G:\temp\qmf\*.*"
再删除文件夹
! /n2 cmd /c RD /S/Q "G:\temp\qmf"
3 楼
hw2007name [专家分:4790] 发布于 2008-09-17 11:14:00
谢谢cbl518老师!
你的方法能办到,但有一个CMD命令窗口闪一下,我认为不太理想,有没有其它方法,不调用CMD的方法?
4 楼
moz [专家分:37620] 发布于 2008-09-17 14:09:00
ax=CreateObject("Scripting.FileSystemObject")
bx=ax.GetFile("E:\1.txt")
bx.Delete(.T.)
5 楼
cbl518 [专家分:57140] 发布于 2008-09-17 16:15:00
oD1 = CreateObject("Scripting.FileSystemObject")
oD1.DeleteFile("G:\temp\temC.tmp",.T.)
6 楼
hw2007name [专家分:4790] 发布于 2008-09-17 17:39:00
谢谢两位老师!
还有一个问题,有没有可以判断文件是否正被使用的对象(像上面的方法最好)。
我自己写了一个函数,用了两年,今天出现了不能检测的问题,代码如下,请各位教师帮我看一下是那里存在漏洞。
FUNCTION FILEUSED_TORF&&判断文件是否在使用,并返回逻辑型数据
parameters _INTO_FILENAME
PRIVATE useopenerror,OPEN_FILEH
useopenerror=1
OPEN_FILEH=-1
IF TYPE("_INTO_FILENAME")#"C"
RETURN .F.
ENDIF
IF !FILE(_INTO_FILENAME,1)
RETURN .F.
ENDIF
now_onerror=on('error')
on error useopenerror=0
OPEN_FILEH=FOPEN(_INTO_FILENAME,2)
on error &now_onerror.
if OPEN_FILEH<=-1
RETURN .T.
ELSE
=FCLOSE(OPEN_FILEH)
RETURN .F.
ENDIF
7 楼
hw2007name [专家分:4790] 发布于 2008-09-17 17:50:00
在那里可以找到在VFP中能用CreateObject()建立的对象引用字符串清单啊(把WIN中最经典的列出来)!
8 楼
ihorse [专家分:970] 发布于 2008-09-21 21:11:00
好帖,学习下!!
我来回复