回 帖 发 新 帖 刷新版面

主题:VFP与隐藏文件及文件夹问题!

VFP在判断隐藏文件或文件夹时是没问题,FILE()和DIRECTORY()函数可以解决,但是VFP在使用操作时,遇到了困难,不知道如何解决。如:要在VFP中删除一个隐藏文件或文件夹,或许RD命令能办到删除目录,但隐藏文件我试了很久,DELE FILE 和ERASE两个命令都没办法删除隐藏文件,我看一VFP9的帮助也没找到解决办法,现在只能使用VFP以外的办法如API,还有就是MYDLL中的一个删除文件及文件夹函数,不知道VFP能不能直接办到的命令,或比较简单的办法,如创建一个WIN对象类的操作文件及文件夹等方法,还请各位大侠多指点一下,在此先感谢各位狐友了。

回复列表 (共8个回复)

沙发

! /n2 cmd /c ERASE /F/S/A[color=FF0000]/Q[/color] "G:\temp\temC.tmp"

板凳

先删除所有文件
! /n2 cmd /c ERASE /F/S/A/Q "G:\temp\qmf\*.*"
再删除文件夹
! /n2 cmd /c RD /S/Q "G:\temp\qmf"

3 楼

谢谢cbl518老师!
你的方法能办到,但有一个CMD命令窗口闪一下,我认为不太理想,有没有其它方法,不调用CMD的方法?

4 楼

ax=CreateObject("Scripting.FileSystemObject")
bx=ax.GetFile("E:\1.txt")
bx.Delete(.T.)

5 楼

oD1 = CreateObject("Scripting.FileSystemObject")
oD1.DeleteFile("G:\temp\temC.tmp",.T.)

6 楼

谢谢两位老师!
还有一个问题,有没有可以判断文件是否正被使用的对象(像上面的方法最好)。
我自己写了一个函数,用了两年,今天出现了不能检测的问题,代码如下,请各位教师帮我看一下是那里存在漏洞。

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 楼

在那里可以找到在VFP中能用CreateObject()建立的对象引用字符串清单啊(把WIN中最经典的列出来)!

8 楼

好帖,学习下!!

我来回复

您尚未登录,请登录后再回复。点此登录或注册