'Get current drive free disk space
Function GetDiskSpaceFree (drive As String) As Long
    ChDrive drive
    GetDiskSpaceFree = DiskSpaceFree()
End Function

' Get cluster size for current drive
Function GetDrivesAllocUnit (drive As String) As Long
    ChDrive drive
    GetDrivesAllocUnit = AllocUnit()
End Function

' Set Destination File date/time to Source file's date/time
Function SetFileDateTime (SourceFile As String, DestinationFile As String) As Integer
    x = SetTime(SourceFile, DestinationFile)
    SetFileDateTime = -1
End Function

Function WillFit(file As String, drive As String) As Integer
    Dim FreeSpace As Long    ' space remaining on drive
    Dim RealSize As Long     ' real size of file
    Dim ClusterSize As Long  ' drive's cluster size
    FreeSpace = GetDiskFreeSpace(drive)
    ClusterSize = GetDrivesAllocUnit(drive)
    RealSize = ClusterSize * (FileLen(file) / ClusterSize + 1)
    WillFit = RealSize < FreeSpace
End Function
