Code: Select all
#include "vbcompat.bi"
#include "windows.bi"
#include "MyFunc.bi"
OPTION EXPLICIT
'Const FILE_ATTRIBUTE_READONLY = 1 '&H1
'Const FILE_ATTRIBUTE_HIDDEN = 2 '&H2
'Const FILE_ATTRIBUTE_SYSTEM = 4 '&H4
'Const FILE_ATTRIBUTE_DIRECTORY = 16 '&H10
'Const FILE_ATTRIBUTE_ARCHIVE = 32 '&H20
'Const FILE_ATTRIBUTE_NORMAL = 128 '&H80
'Const FILE_ATTRIBUTE_TEMPORARY = 256 '&H100
'Const FILE_ATTRIBUTE_COMPRESSED = 2048 '&H800
DIM AS STRING DriveLetter
REDIM SHARED AS STRING FoldList(100)
DECLARE SUB GetDriveInfo(AS STRING) ' loads file data from disk
DriveLetter = "D"
GetDriveInfo DriveLetter
PRINT "Done."
SLEEP
SUB GetDriveInfo(Drive AS STRING)
DIM AS STRING FName
DIM AS INTEGER attribP, FPoint = 0,NFreePoint = 1,f
FoldList(0) = Drive + ":\"
WHILE FPoint < NFreePoint
FName = DIR(FoldList(FPoint)+"*",16, @attribP)
WHILE FName <> ""
IF LEFT(FName,1) <> "." AND attribP = 16 THEN
FoldList(NFreePoint) = FoldList(FPoint) + FName + "\"
NFreePoint += 1
IF NFreePoint > UBOUND(FoldList) THEN REDIM PRESERVE FoldList(NFreePoint+10)
END IF
FName = DIR(@attribP)
WEND
FPoint += 1
WEND
NFreePoint = FREEFILE
OPEN "CDTrack.txt" FOR OUTPUT AS #NFreePoint
PRINT #NFreePoint, STR(UBOUND(FoldList))
FOR f=0 TO FPoint 'find all files
PRINT #NFreePoint, FoldList(f)
'display folder to screen
print FoldList(f)
FName = DIR(FoldList(f)+"*",32, @attribP)
WHILE FName <> ""
IF (attribP AND 32) THEN
'display filename to screen?
print FName
PRINT #NFreePoint, FName
PRINT #NFreePoint, Get_File_Stats(FoldList(f),FName)
END IF
FName = DIR(@attribP)
WEND
NEXT f
CLOSE #NFreePoint
END SUB