mirror of
https://github.com/bloxstraplabs/bloxstrap.git
synced 2025-04-20 01:21:29 -07:00
36 lines
1009 B
C#
36 lines
1009 B
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Xml.Linq;
|
|
|
|
namespace Bloxstrap.Utility
|
|
{
|
|
internal static class Filesystem
|
|
{
|
|
internal static long GetFreeDiskSpace(string path)
|
|
{
|
|
foreach (var drive in DriveInfo.GetDrives())
|
|
{
|
|
// https://github.com/bloxstraplabs/bloxstrap/issues/1648#issuecomment-2192571030
|
|
if (path.ToUpperInvariant().StartsWith(drive.Name))
|
|
return drive.AvailableFreeSpace;
|
|
}
|
|
|
|
return -1;
|
|
}
|
|
|
|
internal static void AssertReadOnly(string filePath)
|
|
{
|
|
var fileInfo = new FileInfo(filePath);
|
|
|
|
if (!fileInfo.Exists || !fileInfo.IsReadOnly)
|
|
return;
|
|
|
|
fileInfo.IsReadOnly = false;
|
|
App.Logger.WriteLine("Filesystem::AssertReadOnly", $"The following file was set as read-only: {filePath}");
|
|
}
|
|
}
|
|
}
|