public void GetDriveFreeSpaceForFile(string targetFilePath, bool reportFreeSpaceAvailableToUser) { var success = PRISMWin.DiskInfo.GetDiskFreeSpace(targetFilePath, out var freeSpaceBytes, out var errorMessage, reportFreeSpaceAvailableToUser); if (!success) { Assert.Fail("GetDiskFreeSpace reported false for " + targetFilePath + ": " + errorMessage); } var directoryPath = new FileInfo(targetFilePath).DirectoryName; Console.WriteLine("Free space at {0} is {1} (ReportFreeSpaceAvailableToUse = {2}))", directoryPath, FileTools.BytesToHumanReadable(freeSpaceBytes), reportFreeSpaceAvailableToUser); }
public void ValidateFreeDiskSpace(string targetFilePath, long minimumFreeSpaceMB) { var success = PRISMWin.DiskInfo.GetDiskFreeSpace(targetFilePath, out var currentDiskFreeSpaceBytes, out var errorMessage); if (!success) { Assert.Fail("GetDiskFreeSpace reported false for " + targetFilePath + ": " + errorMessage); } var safeToCopy = FileTools.ValidateFreeDiskSpace(targetFilePath, minimumFreeSpaceMB, currentDiskFreeSpaceBytes, out errorMessage); var sufficientOrNot = safeToCopy ? "sufficient" : "insufficient"; Console.WriteLine("Target drive has {0} free space to copy {1} file {2}; {3} free", sufficientOrNot, FileTools.BytesToHumanReadable(minimumFreeSpaceMB * 1024 * 1024), targetFilePath, FileTools.BytesToHumanReadable(currentDiskFreeSpaceBytes)); }
private void GetDriveFreeSpaceForDirectory(string directoryPath) { var success = PRISMWin.DiskInfo.GetDiskFreeSpace( directoryPath, out var freeBytesAvailableToUser, out var totalDriveCapacityBytes, out var totalNumberOfFreeBytes); if (!success) { Assert.Fail("GetDiskFreeSpace reported false for " + directoryPath); } Console.WriteLine("Free space stats for" + directoryPath); Console.WriteLine("{0,-25} {1}", "Free Space", FileTools.BytesToHumanReadable(totalNumberOfFreeBytes)); Console.WriteLine("{0,-25} {1}", "Space available to User", FileTools.BytesToHumanReadable(freeBytesAvailableToUser)); Console.WriteLine("{0,-25} {1}", "Drive Capacity", FileTools.BytesToHumanReadable(totalDriveCapacityBytes)); }