' Movie Strip.iwb ' $main $include "windowssdk.inc" DEF version$="1.0":string 'DECLARE IMPORT,GetFileAttributesExA(filename:STRING,info_level:INT,dat:POINTER),INT AUTODEFINE "off" type FILETIME DEF dwLowDateTime:UINT DEF dwHighDateTime:UINT ENDTYPE TYPE WIN32_FILE_ATTRIBUTE_DATA,4 DEF dwFileAttributes:UINT DEF ftCreationTime:FILETIME DEF ftLastAccessTime:FILETIME DEF ftLastWriteTime:FILETIME DEF nFileSizeHigh:UINT DEF nFileSizeLow:UINT ENDTYPE WIN32_FILE_ATTRIBUTE_DATA wad 'DECLARE IMPORT,GetFileAttributesExA(filename:STRING,infoenum:INT,lpData:POINTER),INT DEF count:INT DEF filenameo, strdrive, name, filesystemname:string DEF cnt = 0:INT DEF ofile:FILE DEF flags, serialnumber, maxcomponentlength:INT ' Integers of the call flags=0: serialnumber=0: maxcomponentlength=0 ' Make sure there all set to zero OPENCONSOLE 'recursively print all directories strdrive = "F:\\" LABEL TryAgain GetVolumeInformationA(strdrive,name,255,serialnumber,maxcomponentlength,flags,filesystemname,255) 'print "name: ", name, " serialnumber: ", serialnumber, " maxcomponentlenght: ", maxcomponentlength, 'print " filesystemname: ", filesystemname filenameo = strdrive + name + ".csv" IF (OPENFILE(ofile,filenameo,"W") <> 0) IF strdrive = "F:\\" strdrive = "G:\\" GOTO TryAgain ENDIF PRINT "File: ", filenameo, " Not able to Open Output" GOTO Aborted ENDIF PRINT filenameo count = printdir(strdrive) PRINT count,"Files" INT fail=COPYFILE(filenameo,"C:\\Users\\Bill\\OneDrive\\Documents\\"+name+".csv",0) IF fail = 0 THEN PRINT "Copy failed ", name GOTO Final LABEL Aborted PRINT "Aborted" LABEL Final CLOSEFILE ofile PRINT "Press Any Key" DO:UNTIL INKEY$ <> "" CLOSECONSOLE END SUB printdir(path:STRING),INT DEF attrib, count, dir:INT DEF ext, filename, fullname:STRING DEF filesize:UINT64 count = 0 dir = FINDOPEN(path + "*.*") IF(dir) DO filename = FINDNEXT(dir,attrib) IF len(filename) IF attrib & @FILE_DIRECTORY IF(filename <> ".") & (filename <> "..") 'PRINT path + "[" + filename + "]" fullname = path + filename + "\\" count = count + printdir(fullname) ENDIF ELSE ext = UCASE$(RIGHT$(filename,3)) IF (filename <> "") AND (ext = "MP4" OR ext = "AVI" or ext = "MKV") count++ GetFileAttributesExA(path+filename,0,wad) filesize = wad.nFileSizeHigh filesize = filesize << 32 filesize |= wad.nFileSizeLow IF filename = "Frozen (2013).avi" THEN PRINT filename,"\t",path,"\t",filesize,"\t",USING("%q###,###,###",filesize) WRITE ofile, filename + "\t" + path + "\t" + STR$(filesize) ENDIF ENDIF ENDIF 'the exit case is when there are no more entries 'in the current directory UNTIL filename = "" FINDCLOSE dir ENDIF RETURN count ENDSUB