Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
  [C#] List Steam Games + Sizes
#1
Code:
using System;
using System.IO;
using Microsoft.Win32;

namespace Steam_Game_List
{
  class Program
  {
      static void Main(string[] args)
      {
          var path = Registry.GetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Valve\Steam", "InstallPath", null);

          if (File.Exists(Convert.ToString(path + @"\steam.exe")))
          {
              var dirs = Directory.GetDirectories(Path.Combine(path + @"\steamapps\common\"));
              foreach (var dir in dirs)
              {
                  double dirSizeB = DirSize(new DirectoryInfo(dir));
                  double dirSizeKB = ScaleUp(dirSizeB);
                  double dirSizeMB = ScaleUp(dirSizeKB);
                  double dirSizeGB = ScaleUp(dirSizeMB);

                  string fileName = dir.Replace(Path.Combine(path + @"\steamapps\common\"), "");
                  ColoredConsoleWrite(ConsoleColor.White, fileName);
                  ColoredConsoleWrite(ConsoleColor.Yellow, "\n\tSizes{" + dirSizeMB + "MB\t");
                  ColoredConsoleWrite(ConsoleColor.Yellow, dirSizeGB + "GB}\n\n");
              }
          }
          else{Console.WriteLine("Couldn't find steam folder");}

          Console.Read();
      }

      public static long DirSize(DirectoryInfo d)
      {
          long size = 0;
          // Add file sizes.
          FileInfo[] fis = d.GetFiles();
          foreach (FileInfo fi in fis)
          {
              size += fi.Length;
          }
          // Add subdirectory sizes.
          DirectoryInfo[] dis = d.GetDirectories();
          foreach (DirectoryInfo di in dis)
          {
              size += DirSize(di);
          }
          return size;
      }

      public static void ColoredConsoleWrite(ConsoleColor color, string text)
      {
          ConsoleColor originalColor = Console.ForegroundColor;
          Console.ForegroundColor = color;
          Console.Write(text);
          Console.ForegroundColor = originalColor;
      }

      public static double ScaleUp(double defSize)
      {
          return Math.Round(defSize / 1024, 2);
      }
  }
}
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
www.D3n1s.Net