代码之家  ›  专栏  ›  技术社区  ›  Dot Net Dev

.NET核心在不同操作系统上查找可用磁盘空间

  •  1
  • Dot Net Dev  · 技术社区  · 6 年前

    有没有一种方法可以使用C ASP.NET核心在不同的操作系统(主要是Linux和Windows)上找到可用空间?

    我找到了一种方法(使用driveinfo)通过传递驱动器名作为参数来获得可用空间。这在Windows上工作得很好,但我也希望Linux上也一样。

    public static int CheckDiskSpace(string driveLetter)
    {
        DriveInfo drive = new DriveInfo(driveLetter);
    
        var totalBytes = drive.TotalSize;
        var freeBytes = drive.AvailableFreeSpace;
    
        var freePercent = (int)((100 * freeBytes) / totalBytes);
    
        return freePercent;
    }
    

    传递驱动器(C/)如下:

    var freespace = DriveDetails.CheckDiskSpace("C:/");
    

    更新:这也适用于Linux。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Rahul    6 年前

    你可以用 System.AppContext.BaseDirectory 如果您使用.NET核心

    (或)

    Path.GetDirectoryName(Assembly.GetEntryAssembly().Location)