用ADIR(),楼主的问题都解决了
坚守VFP最后的阵地
CREATE CURSOR tt (文件名 C(100), 文件大小 N(10), 修改日期 D, 修改时间 C(10), 文件属性 C(10), 文件类型 C(10), 路径 C(100)) listfiles("d:\temp") BROWSE FUNCTION ListFiles(tcFolder As String) LOCAL ARRAY laFiles[1] LOCAL lcFileName, ii m.tcFolder = ADDBS(m.tcFolder) IF ADIR(m.laFiles, m.tcFolder + '*.*', 'AHRSD', 1) < 3 RETURN .F. ENDIF ASORT(m.laFiles, 5, -1, 1) FOR m.ii = 1 TO ALEN(m.laFiles, 1) m.lcFileName = m.laFiles[m.ii, 1] DO CASE CASE '.' == m.lcFileName Or '..' == m.lcFileName CASE AT('D', m.laFiles[m.ii, 5]) > 0 ListFiles(m.tcFolder + m.lcFileName) OTHERWISE INSERT INTO TT VALUES (m.lafiles[m.ii, 1], m.lafiles[m.ii, 2], m.lafiles[m.ii, 3], m.lafiles[m.ii, 4], m.lafiles[m.ii, 5], JUSTEXT(m.lafiles[m.ii, 1]), m.tcFolder) ENDCASE ENDFOR ENDFUNC