主题:[原创]复制文件的小代码
vfp中,复制文件夹下的文件不能复制该文件夹下的子文件夹及其中的文件,这是好几之前写的一段代码,用来复制文件夹中所有的内容。原理是数据结构中树的遍历。希望对大家有所帮助。
* 复制指定文件夹下的所有文件(包括子文件夹及其中的内容)
LOCAL lnallnum, lnfilenum, lncount, lctofilepath, lctopath, lcbackpath
&&所有文件(夹)数, 文件数, 计数器1, ,相对当前根目录路径,存盘路径
LOCAL ARRAY labag(1)
lnallnum = ADIR( labag, "*.*", "D", 0)
lnfilenum = ADIR( lafile)
lctofilepath = SYS(2014,"*.*",THISFORM.syspath )
&&当前目录下的文件(包括子文件夹)相当于当前目录的相对路径。
lctopath = LEFT( lctofilepath, LEN( lctofilepath) - 3)
lcbackpath = ADDBS(ALLTRIM(THISFORM.txtpath.VALUE )) + ALLTRIM( lctopath)
IF !DIRECTORY( ADDBS( lcbackpath))
MD (ADDBS( lcbackpath))
ENDIF
IF lnfilenum > 0
COPY FILE *.* TO (ADDBS( lcbackpath)+"*.*")
ENDIF
IF lnallnum > 2
FOR lncount = 3 TO lnallnum
IF "D" $ labag( lncount, 5 )
CD labag( lncount, 1)
&& 调用本过程
THISFORM.copyfile
CD ..
ENDIF
ENDFOR
ENDIF